ci: store build artifacts in Namespace workspace#29
Conversation
Switch all upload-artifact/download-artifact steps from actions/*@v5 to namespace-actions/*@v1 (drop-in compatible, same inputs) so build artifacts (APK, libcore.aar, sidecars) land in the Namespace workspace storage instead of GitHub. Upload and download are switched in lockstep since the two storages are not cross-compatible.
📝 WalkthroughWalkthroughAll four GitHub Actions workflow files ( ChangesArtifact Action Provider Migration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
Summary
Switches all
upload-artifact/download-artifactsteps fromactions/*@v5tonamespace-actions/*@v1so build artifacts (APK, libcore.aar, sidecars) are stored in the Namespace workspace storage instead of GitHub. The namespace actions are forks of the official ones and are drop-in compatible (identical inputs).Why
Builds run on Namespace runners; storing artifacts in the Namespace workspace keeps them visible in the Namespace dashboard and off GitHub's artifact storage/billing.
Scope
All four workflows updated in lockstep (upload + download together, since Namespace and GitHub artifact storages are not cross-compatible — a producer on one and consumer on the other would fail):
build.yml,ci.yml,preview.yml,release.ymlTesting
name:/path:/mergesemantics are preserved.Greptile Summary
This PR does a mechanical search-and-replace across all four workflow files, swapping
actions/upload-artifact@v5andactions/download-artifact@v5for theirnamespace-actions/*@v1drop-in equivalents so that build artifacts are stored in Namespace workspace storage instead of GitHub's.build.yml,ci.yml,preview.yml, andrelease.ymlhave been updated; noactions/*artifact references remain.publishjob inrelease.ymlthat downloads APKs for the GitHub release.name,path,retention-days,if-no-files-found) are unchanged.Confidence Score: 5/5
Safe to merge — the change is a consistent tag swap across all producers and consumers, with no functional logic altered.
Every upload/download pair across all four workflows has been updated to the same storage backend. No inputs were changed, no artifact names were changed, and no upload step was left on the old backend while a corresponding download was moved to the new one (which would cause a cross-storage failure). The only residual note is that
namespace-actions/*@v1is a mutable tag rather than a pinned SHA, but this matches the existing conventions throughout the repo.No files require special attention.
Important Files Changed
Sequence Diagram
%%{init: {'theme': 'neutral'}}%% sequenceDiagram participant R as Runner (Namespace) participant NS as Namespace Workspace Storage participant GH as GitHub Release Note over R,NS: libcore job R->>NS: "namespace-actions/upload-artifact (libcore-aar-*)" Note over R,NS: sidecars job R->>NS: "namespace-actions/upload-artifact (sidecars-so-*)" Note over R,NS: build job NS->>R: "namespace-actions/download-artifact (libcore-aar-*)" NS->>R: "namespace-actions/download-artifact (sidecars-so-*)" R->>NS: namespace-actions/upload-artifact (APKs) Note over R,GH: publish job (release.yml only) NS->>R: namespace-actions/download-artifact (APKs) R->>GH: ghr publish release%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% sequenceDiagram participant R as Runner (Namespace) participant NS as Namespace Workspace Storage participant GH as GitHub Release Note over R,NS: libcore job R->>NS: "namespace-actions/upload-artifact (libcore-aar-*)" Note over R,NS: sidecars job R->>NS: "namespace-actions/upload-artifact (sidecars-so-*)" Note over R,NS: build job NS->>R: "namespace-actions/download-artifact (libcore-aar-*)" NS->>R: "namespace-actions/download-artifact (sidecars-so-*)" R->>NS: namespace-actions/upload-artifact (APKs) Note over R,GH: publish job (release.yml only) NS->>R: namespace-actions/download-artifact (APKs) R->>GH: ghr publish releaseReviews (1): Last reviewed commit: "ci: store build artifacts in Namespace w..." | Re-trigger Greptile