Urgent.News

One page, thousands of outlets. See who else covered it.

Editions

Tech

My best-looking GitHub Actions run shipped zero installs

Quick take Your publish job is green. That proves you sent the file. It does not prove anyone can install it. Every publish step I have ever written ended at the upload. The API accepted the request, the exit code was 0, the workflow went green, and I went to lunch. A marketplace can accept an upload and then reject it in review, hold it in a queue, or list it under a version nobody sees. All of…

My GitHub Actions run was green, indicating a successful file upload. However, this does not guarantee that anyone can actually install the package. Multiple publish steps I've written in the past all ended at the upload stage. The API accepted the request, the exit code was 0, and the workflow appeared green. But the package could still have been rejected in review, held in a queue, or listed under a different version that no one sees.

This happened to my package for three weeks without us noticing. We discovered the issue when a user questioned why the version was outdated. The solution is a single additional request at the end of the same job. Query the public API to check what the world can actually see, and if it differs from your published version, fail the job: PUBLISHED=$(curl -sf $REGISTRY_API /my-package | jq -r .version) [$PUBLISHED=$VERSION]||{ echo "uploaded $VERSION, world still sees $PUBLISHED" exit 1 } The key difference is that you're not verifying the success of your own pipeline, which already reported success even if it was incorrect.

Instead, you're asking a stranger - the public API - to confirm whether your package is visible to others.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

This story

This is one outlet's version. Read the fullest account.

Read the original at dev.to →

More in Tech

Your CI is not flaky. It fails every 7 days.

Quick take Before you label a failing test flaky, write down the dates it failed. Flaky has no rhythm. Yours might. "Flaky" is the most expensive word in CI. It closes the investigation.

  • CI pipeline may fail every seven days, not flaky
  • Examine failure gaps to identify timer-triggered issue
  • GitHub Actions cache evicts entries after a week

Parsing numbers from JSON in Python

Consider this hypothetical endpoint in a Python-based web-server: # withdraw.py import json from flask import Flask , request app = Flask ( __name__ ) STATE = { " balance " : 1000 } @app.post ( "…

  • Python script withdraw.py uses json module to parse incoming JSON data
  • STATE dictionary maintains user's balance for simplification
  • JSON input validation allows numeric values, including NaN, causing balance issues

More from Monday 17 August →