You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Ensure ACTIONS_RESULTS_URL ends with a trailing slash.
102
+
variant: subtle
103
+
---
104
+
::
124
105
125
-
This will create a `key.pem` and `cert.pem` file in the current directory. These files need to be mounted into the cache server container.
106
+
### Runner Configuration
126
107
127
-
### Update the Dockerfile of your runner image
108
+
For Docker:
128
109
129
110
```dockerfile [Dockerfile]
130
-
# Add the CA certificate to trusted certificates
131
-
RUN sudo apt-get install -y ca-certificates
132
-
RUN echo "<YOUR GENERATED CERTIFICATE>" | sudo tee /usr/local/share/ca-certificates/cache-server-ca.crt
133
-
RUN sudo update-ca-certificates
111
+
FROM ghcr.io/actions/actions-runner:latest
112
+
# Modify runner binary to retain custom ACTIONS_RESULTS_URL
113
+
RUN sed -i 's/\x41\x00\x43\x00\x54\x00\x49\x00\x4F\x00\x4E\x00\x53\x00\x5F\x00\x52\x00\x45\x00\x53\x00\x55\x00\x4C\x00\x54\x00\x53\x00\x5F\x00\x55\x00\x52\x00\x4C\x00/\x41\x00\x43\x00\x54\x00\x49\x00\x4F\x00\x4E\x00\x53\x00\x5F\x00\x52\x00\x45\x00\x53\x00\x55\x00\x4C\x00\x54\x00\x53\x00\x5F\x00\x4F\x00\x52\x00\x4C\x00/g' /home/runner/bin/Runner.Worker.dll
sed -i 's/\x41\x00\x43\x00\x54\x00\x49\x00\x4F\x00\x4E\x00\x53\x00\x5F\x00\x52\x00\x45\x00\x53\x00\x55\x00\x4C\x00\x54\x00\x53\x00\x5F\x00\x55\x00\x52\x00\x4C\x00/\x41\x00\x43\x00\x54\x00\x49\x00\x4F\x00\x4E\x00\x53\x00\x5F\x00\x52\x00\x45\x00\x53\x00\x55\x00\x4C\x00\x54\x00\x53\x00\x5F\x00\x4F\x00\x52\x00\x4C\x00/g' /path_to_your_runner/bin/Runner.Worker.dll
description: How the cache server integrates with GitHub Actions
4
4
---
5
5
6
-
The cache server acts as a proxy for the actions runner. We forward all cache related requests to our cache server implementation and passthrough any non-cache related requests to the original server.
6
+
## 1. Reverse-Engineering
7
+
8
+
We replicate the official cache API by examining runner requests and the actions/cache source. See GitHub docs on cache keys.
9
+
10
+
## 2. Configuring the Runner
11
+
12
+
The runner overrides ACTIONS_RESULTS_URL with its internal endpoint. We patched the binary by replacing "ACTIONS_RESULTS_URL" with "ACTIONS_RESULTS_ORL" (keeping the same length) to allow a custom cache URL.
0 commit comments