Skip to content

ci: push artifacts to Harbor instead of GitHub storage#26

Merged
edridudi merged 3 commits into
mainfrom
ci/artifacts-to-harbor
Jun 19, 2026
Merged

ci: push artifacts to Harbor instead of GitHub storage#26
edridudi merged 3 commits into
mainfrom
ci/artifacts-to-harbor

Conversation

@edridudi

Copy link
Copy Markdown
Member

Why

The shared org-wide GitHub Actions artifact storage quota keeps filling up. This moves CI artifacts off GitHub storage and onto the in-cluster Harbor OCI registry (registry.gerowallet.io, project gero, public ingress + TLS).

What changed

Both mainnet.yml and preprod.yml previously used actions/upload-artifact@v4 to upload a JaCoCo coverage exec (exportJacoco/jacoco-mainnet.exec / jacoco-preprod.exec) with if: always(). Neither has a matching download-artifact, so both are coverage reports → routed to Harbor.

Each upload step is replaced with:

  • Set up ORAS (oras-project/setup-oras@v2)
  • A Push ... to Harbor step that tars the exec and runs oras push to registry.gerowallet.io/gero/maestro-java-client-ci:<tag>.

Preserved if: always(); push uses continue-on-error: true so artifact upload never fails CI. Credentials come from existing repo secrets (HARBOR_REGISTRY, HARBOR_USERNAME, HARBOR_PASSWORD) via ${{ secrets.* }} — nothing hardcoded. Run commands only reference trusted env vars / ${GITHUB_*} (no github.event.* interpolation).

Harbor repo:tag

  • registry.gerowallet.io/gero/maestro-java-client-ci:jacoco-mainnet-<run_id>-<run_attempt>
  • registry.gerowallet.io/gero/maestro-java-client-ci:jacoco-preprod-<run_id>-<run_attempt>

Do not merge yet.

🤖 Generated with Claude Code

Replace actions/upload-artifact with pushes to the in-cluster Harbor
OCI registry (registry.gerowallet.io, project gero) to stop consuming
the shared org-wide GitHub Actions artifact storage quota.

Both mainnet.yml and preprod.yml uploaded JaCoCo coverage exec files
(coverage reports, no matching download-artifact). Each now sets up
ORAS and pushes the exec via `oras push`, preserving `if: always()`
and using `continue-on-error: true` so artifact upload never fails CI.
Credentials come from existing repo secrets; no values hardcoded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

dudiedri and others added 2 commits June 19, 2026 19:29
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
compgen -G on a literal dir path with trailing slash reports a match
even when the dir is absent, so tar got a nonexistent path and failed.
Glob-expand then test each match with [ -e ].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@edridudi edridudi merged commit fa00b58 into main Jun 19, 2026
5 checks passed
@edridudi edridudi deleted the ci/artifacts-to-harbor branch June 19, 2026 16:48
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