mirror of
https://gitea.com/gitea/act_runner
synced 2026-09-21 19:37:07 +02:00
Cache v2 makes the cache server the `ACTIONS_RESULTS_URL` origin, so artifact calls arrived there and were proxied on to Gitea, failing whenever it could not reach the instance. - Artifact calls are answered with a redirect, so the cache server opens no connection to Gitea. A scheme change or an untrusted instance is still proxied, but there the cache server is the runner itself, which already reaches Gitea. - Failures answer in twirp, not an empty `502` that clients report as `Unexpected end of JSON input`. - `cache.v2: false` really points artifacts at Gitea now. - Cache reservations are bound to the job that made them, so two jobs saving one key cannot commit against each other's upload, and a retry after a lost answer no longer fails a saved entry. - The toolkit patch, which edits the GitHub-host check out of an action's bundle, was left in the shared checkout where a job running with `runner.patch_actions: false` could inherit it. It is put back after the job's copy. - `exec` names an origin for the cache v2 it advertises, and masks its runtime token. Behaviour changes: `no_proxy` no longer exempts `cache.external_server`, and `cache.enabled: false` also stops external registration. Fixes https://gitea.com/gitea/runner/issues/1208 Fixes https://gitea.com/gitea/runner/issues/1211 Assisted by Claude (Opus 5). Reviewed-on: https://gitea.com/gitea/runner/pulls/1216 Reviewed-by: bircni <bircni@icloud.com> Co-authored-by: silverwind <me@silverwind.io>
29 lines
869 B
YAML
29 lines
869 B
YAML
name: artifact
|
|
on: push
|
|
jobs:
|
|
upload:
|
|
runs-on: e2e-artifact
|
|
steps:
|
|
- run: |
|
|
echo "results=$ACTIONS_RESULTS_URL cache=$ACTIONS_CACHE_URL v2=${ACTIONS_CACHE_SERVICE_V2:-unset}"
|
|
if [ "$ACTIONS_CACHE_SERVICE_V2" = "true" ]; then
|
|
test "$ACTIONS_RESULTS_URL/" = "$ACTIONS_CACHE_URL"
|
|
else
|
|
test "$ACTIONS_RESULTS_URL/" != "$ACTIONS_CACHE_URL"
|
|
fi
|
|
mkdir -p out
|
|
echo "artifact-payload" > out/data.txt
|
|
- uses: actions/upload-artifact@v7
|
|
with:
|
|
name: e2e-artifact-${{ github.run_id }}
|
|
path: out/data.txt
|
|
download:
|
|
needs: upload
|
|
runs-on: e2e-artifact
|
|
steps:
|
|
- uses: actions/download-artifact@v8
|
|
with:
|
|
name: e2e-artifact-${{ github.run_id }}
|
|
path: got
|
|
- run: grep -q artifact-payload got/data.txt
|