git.iko.soy/typeable/nix-s3-cache-action
on main help sign in
first commit
commit3ebc689e693c26bacfbbaa8816040d4caf1ef693 authorAnisimov Nikita <anisimoff.nikita@gmail.com> dateFri 2 Oct 2026, 16:32 (1 week ago)
1 file changed+35
README.md+35
README.mdnew file+35
@@ -0,0 +1,35 @@
1+# Nix S3 cache action
2+
3+Composite GitHub Action for recording Nix build output paths and uploading them
4+to an S3-backed binary cache.
5+
6+## Usage
7+
8+```yaml
9+- name: Enable Nix remote cache path recorder
10+ uses: typeable/nix-s3-cache-action@v1
11+ with:
12+ operation: enable-recorder
13+
14+- name: Upload built Nix paths to S3 cache
15+ if: always()
16+ uses: typeable/nix-s3-cache-action@v1
17+ with:
18+ operation: upload
19+ aws-role-to-assume: ${{ secrets.AWS_NIX_CACHE_IAM_ROLE }}
20+ aws-region: us-east-1
21+ role-duration-seconds: 21600
22+ cache-private-key: ${{ secrets.NIX_CACHE_PRIVATE_KEY }}
23+ cache-s3-store-url: ${{ vars.NIX_CACHE_S3_STORE_URL }}
24+```
25+
26+## Inputs
27+
28+| Name | Required | Default | Description |
29+| --- | --- | --- | --- |
30+| `operation` | yes | | Operation to run: `enable-recorder` or `upload`. |
31+| `aws-role-to-assume` | no | | AWS IAM role to assume before uploading Nix paths. |
32+| `aws-region` | no | `us-east-1` | AWS region for the Nix cache upload role. |
33+| `role-duration-seconds` | no | `21600` | AWS role duration for the Nix cache upload role. |
34+| `cache-private-key` | no | | Private signing key for the Nix binary cache. |
35+| `cache-s3-store-url` | no | | Nix S3 store URL used as the `nix copy` destination. |