Probe what cache endpoint the runner exports #180

Closed
thatguygriff wants to merge 2 commits from ci/probe-cache-service into main
Showing only changes of commit a26c481c8f - Show all commits
+53
View File
@@ -0,0 +1,53 @@
name: Cache Service Probe
# Temporary diagnostic for #178, to be deleted once it has answered its
# question. actions/cache refuses to run here, printing its GHES warning, on
# both v3 and v4. Two explanations remain and they need different fixes:
#
# 1. Cache is off in act_runner's config, so no ACTIONS_CACHE_URL is exported
# and the runner has nothing to point a patched bundle at. Fix is
# cache.enabled in config.yaml.
# 2. Cache is served, but the runner's bundle patcher does not recognise
# these bundles and so leaves the GHES gate shut. That is a runner bug
# worth reporting upstream.
#
# An exported cache URL tells the two apart.
on:
pull_request:
workflow_dispatch:
jobs:
probe:
name: Cache Service Probe
runs-on: ubuntu-latest
steps:
# Values for the URLs, which are plain endpoints, and presence only for
# the tokens, which are credentials and must not reach the log.
- name: Report cache-related environment
run: |
echo "GITHUB_SERVER_URL = ${GITHUB_SERVER_URL:-<unset>}"
echo "ACTIONS_CACHE_URL = ${ACTIONS_CACHE_URL:-<unset>}"
echo "ACTIONS_RESULTS_URL = ${ACTIONS_RESULTS_URL:-<unset>}"
echo "ACTIONS_CACHE_SERVICE_V2 = ${ACTIONS_CACHE_SERVICE_V2:-<unset>}"
for t in ACTIONS_RUNTIME_TOKEN ACTIONS_CACHE_TOKEN GITHUB_TOKEN; do
if [ -n "${!t:-}" ]; then echo "$t: set"; else echo "$t: unset"; fi
done
# Names only, never values — catches any endpoint variable the runner
# exports under a name this probe did not think to ask for.
- name: List ACTIONS_/GITHUB_ variable names
run: env | grep -E '^(ACTIONS_|GITHUB_)' | sed 's/=.*//' | sort
# Run the real thing alongside, so the warning and the environment that
# produced it sit in one log.
- name: Try actions/cache
uses: actions/cache@v4
with:
path: /tmp/cache-probe
key: cache-probe-${{ github.run_id }}
- name: Runner and version context
run: |
echo "runner.arch = ${{ runner.arch }}"
echo "runner.os = ${{ runner.os }}"