Skip to content

ci: store build artifacts in Namespace workspace#29

Merged
hawkff merged 1 commit into
mainfrom
chore/namespace-artifacts
Jun 18, 2026
Merged

ci: store build artifacts in Namespace workspace#29
hawkff merged 1 commit into
mainfrom
chore/namespace-artifacts

Conversation

@hawkff

@hawkff hawkff commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

Switches all upload-artifact/download-artifact steps from actions/*@v5 to namespace-actions/*@v1 so 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.yml
  • 21 step references total; no other changes.

Testing

  • All four workflow files validated as well-formed YAML.
  • Inputs unchanged, so existing name:/path:/merge semantics are preserved.

Greptile Summary

This PR does a mechanical search-and-replace across all four workflow files, swapping actions/upload-artifact@v5 and actions/download-artifact@v5 for their namespace-actions/*@v1 drop-in equivalents so that build artifacts are stored in Namespace workspace storage instead of GitHub's.

  • All 21 artifact step references across build.yml, ci.yml, preview.yml, and release.yml have been updated; no actions/* artifact references remain.
  • Upload/download pairs within every workflow are consistently on the same storage backend, including the publish job in release.yml that downloads APKs for the GitHub release.
  • All step inputs (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/*@v1 is 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

Filename Overview
.github/workflows/build.yml 5 artifact steps replaced with namespace-actions equivalents; upload/download pairs are consistent and all parameters preserved.
.github/workflows/ci.yml 5 artifact steps replaced with namespace-actions equivalents; upload/download pairs are consistent and all parameters preserved.
.github/workflows/preview.yml 5 artifact steps replaced with namespace-actions equivalents; upload/download pairs are consistent and all parameters preserved.
.github/workflows/release.yml 6 artifact steps replaced with namespace-actions equivalents including the publish job download; all pairs consistent within the same workflow and all parameters preserved.

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
Loading
%%{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 release
Loading

Reviews (1): Last reviewed commit: "ci: store build artifacts in Namespace w..." | Re-trigger Greptile

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.
@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

All four GitHub Actions workflow files (build.yml, ci.yml, preview.yml, release.yml) replace actions/upload-artifact@v5 and actions/download-artifact@v5 with namespace-actions/upload-artifact@v1 and namespace-actions/download-artifact@v1. No artifact names, paths, workflow logic, or build commands are changed.

Changes

Artifact Action Provider Migration

Layer / File(s) Summary
Replace artifact actions in all four workflows
.github/workflows/build.yml, .github/workflows/ci.yml, .github/workflows/preview.yml, .github/workflows/release.yml
Every upload-artifact and download-artifact step switches from actions/*@v5 to `namespace-actions/*`@v1. Affected steps cover libcore uploads, sidecars uploads, artifact downloads in build jobs, final APK uploads, and the release publish download. No other step logic changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐇 Hop hop, the artifacts fly,
From actions/v5 to namespaced sky!
Upload and download, same path, new face,
namespace-actions/v1 takes its place.
No logic changed, just the action name —
Four workflows updated, all the same! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: switching artifact storage from GitHub to Namespace workspace across CI/CD workflows.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description clearly explains the purpose of switching artifact storage backends from GitHub to Namespace, details the scope of changes across four workflows, and explains the rationale for the change.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@hawkff hawkff merged commit bfac4af into main Jun 18, 2026
5 checks passed
@hawkff hawkff deleted the chore/namespace-artifacts branch June 18, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant