HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
actions
upload-artifact
TypeScript2021–2026
actions / upload-artifact

upload-artifact

Discover this repository through its Hacker News conversations.

7Distinct people
8Mentions
0Explicit recommenders
4.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year8 dated mentions

Observed mentions: 2021-06-21 18:49:38 UTC to 2026-05-14 17:44:47 UTC.

012342021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 3 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC110
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC431
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

8 sources
Hex08·May 14, 2026Submission

Show HN: Nanci, CI written in plain Python, locally debuggable

I recently finished building my latest side project and wanted to share it with the world :) It's a CI/CD platform whose whole point is to be more developer friendly and familiar. - YAML is replaced by Python, so you don't need to Google again what is the syntax for ifs or how values are compared in a vendor-specific YAML flavor (e.g. https://docs.github.com/en/actions/reference/workflows-and-a...) - The same engine that runs in the cloud can be run locally and show its output in a terminal UI, so pipelines can be developed and fixed on your laptop without pushing on every change, or needing external tooling that can only get so close to the real thing (e.g. https://github.com/nektos/act) - Because of the above, you can step through your pipeline with any Python debugger to fix it - Artifacts are simply Python values that can be moved aro
Read the rest
und between jobs, instead of having to use specialized actions to upload/download them at a specific named location (e.g. https://github.com/actions/upload-artifact) - The working directory and env vars are preserved across lines I had a lot of fun building this project and it taught me a lot about QEMU, RabbitMQ, Kubernetes, Docker, AI coding (which I used for the landing page), TUI (especially the awesome Textualize framework), web sockets, SeaORM, web design, and the insane sorceries you can do in Python if you start hacking at the import machinery (see https://github.com/eliaperantoni/nanci/blob/main/engine/test..., in Python a string-as-a-statement is normally a no-op, but it Nanci it executes a shell command in the Docker container). I hope you like the idea and the proof-of-concept implementation!
1 points · Open discussion
I have a small gripe that I think exemplifies a bigger problem. actions/upload-artifact strips executable permissions from binaries (1). The fact they fucked this up in the first place, and six years later haven't fixed it, gives me zero confidence in the team managing their platform. And when I'm picking a CI/CD service, I want reliability and correctness. GH has neither. When it takes all of a day to self host your own task runner on a laptop in your office and have better uptime, lower cost, better performance, and more correct implementations, you have to ask why anyone chooses GHA. I guess the hello-world is convincing enough for some people. (1) https://github.com/actions/upload-artifact/issues/38
In The Pain That Is GitHub Actions
I often "publish" artifacts internally in github actions with the actions/upload-artifact action. https://github.com/actions/upload-artifact //.github/workflows/main.yml name: Main on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: self-hosted steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.16 - name: Test run: go test -v ./... - name: Build Discover Command run: go build -o discover cmd/discover/main.go - name: Upload Build Artifacts uses: actions/upload-artifact@v2 with: name: discover path: discover For internal tooling we often publish tagged artifacts to releases on the repo using a workflow tha
Read the rest
t is triggered when someone creates a release. The creation of the release makes a new tag and triggers the build. //.github/workflows/release.yml name: Release on: release: types: - published jobs: build: runs-on: self-hosted env: GOPRIVATE: "github.com/OUR-ORG-NAME/\*" NAME: deploy-${{ github.event.release.tag_name }}-${{ matrix.GOOS }}-${{ matrix.GOARCH }}${{ matrix.EXTENSION }} strategy: matrix: GOOS: [ windows, linux, darwin ] GOARCH: [ amd64, 386 ] exclude: # excludes 32bit on macOS - GOOS: darwin GOARCH: 386 include: # includes a new variable for windows builds - GOOS: windows EXTENSION: ".exe" steps: # Runs a single command using the runners shell - name: Print Info run: echo '${{ toJSON(github.event.release) }}' - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.16 # From https://github.com/mvdan/github-actions-golang/blob/master/README.md - name: Configure git for private modules run: | git config --global \ url."https://${{ secrets.GHUSER }}:${{ secrets.GHTOKEN }}@github.com".insteadOf \ "https://github.com" - name: Build ${{ env.NAME }} Command run: | GOOS=${{ matrix.GOOS }} \ GOARCH=${{ matrix.GOARCH }} \ go build -o ${{ env.NAME }} cmd/main.go - name: Upload Release Asset - ${{ matrix.GOOS }} / ${{ matrix.GOARCH }} uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: ./${{ env.NAME }} asset_name: ${{ env.NAME }} asset_content_type: application/octet-stream edit: code formatting
In Automatically publishing your build artifacts

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.