Skip to content

ci: fetch latest installer from hydra #424

ci: fetch latest installer from hydra

ci: fetch latest installer from hydra #424

Workflow file for this run

name: "cachix-action test"
on:
pull_request:
push:
branches:
- master
env:
ACTIONS_STEP_DEBUG: true
jobs:
public-cache:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
useDaemon: [true, false]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: yarn install --frozen-lockfile
- run: yarn build
# check if typescript generation was committed
- run: git diff --exit-code
- uses: cachix/install-nix-action@V27
- name: Test public cache
uses: ./
with:
name: cachix-action
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
useDaemon: ${{ matrix.useDaemon }}
- run: nix-build test.nix
public-cache-no-signing-key:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
useDaemon: [true, false]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: yarn install --frozen-lockfile
- run: yarn build
- uses: cachix/install-nix-action@V27
- name: Test public cache no signing key
uses: ./
with:
name: cachix-action
useDaemon: ${{ matrix.useDaemon }}
- run: nix-build test.nix
private-cache:
if: ${{ github.ref == 'refs/heads/master' }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
useDaemon: [true, false]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: yarn install --frozen-lockfile
- run: yarn build
- uses: cachix/install-nix-action@V27
- name: Test private cache
uses: ./
with:
name: cachix-action-private
signingKey: '${{ secrets.CACHIX_SIGNING_KEY_PRIVATE }}'
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
useDaemon: ${{ matrix.useDaemon }}
- run: nix-build test.nix
push-paths:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: yarn install --frozen-lockfile
- run: yarn build
- uses: cachix/install-nix-action@V27
- id: paths
run: |
paths=$(nix-instantiate test.nix | tr '\n' ' ')
echo "OUT_PATHS=$paths" >> $GITHUB_OUTPUT
- name: Test pushPaths
uses: ./
with:
name: cachix-action
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
pathsToPush: '${{ steps.paths.outputs.OUT_PATHS }}'
installCommand:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: yarn install --frozen-lockfile
- run: yarn build
- uses: cachix/install-nix-action@V27
- name: Test private cache
uses: ./
with:
name: cachix-action
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
installCommand: 'nix-env -j8 -f https://cachix.org/api/v1/install -iA cachix'
- run: nix-build test.nix
nix-master:
strategy:
matrix:
os: [ubuntu-latest, macos-13]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- id: latest_installer
name: Fetch latest installer from Hydra
run: |
install_url=$(curl --header 'Accept: application/json' --location \
https://hydra.nixos.org/job/nix/master/installerScript/latest-finished \
| jq -r '.buildproducts."1".path')
echo "install_url=$install_url" >> $GITHUB_OUTPUT
- uses: cachix/install-nix-action@V27
with:
install_url: ${{ steps.latest_installer.outputs.install_url }}
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Test public cache
uses: ./
with:
name: cachix-action
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- run: nix-build test.nix