Skip to content

ci: fetch latest installer from hydra #440

ci: fetch latest installer from hydra

ci: fetch latest installer from hydra #440

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@v30
- 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@v30
- 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@v30
- 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@v30
- 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@v30
- 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:
include:
- os: ubuntu-latest
system: x86_64-linux
- os: macos-13
system: x86_64-darwin
- os: macos-latest
system: aarch64-darwin
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Run NAR server
run: |
curl --location https://github.com/sandydoo/nar-toolbox/releases/download/v0.1.0/nar-toolbox-${{ matrix.system }} -O
chmod +x ./nar-toolbox-${{ matrix.system }}
./nar-toolbox-${{ matrix.system }} serve https://cache.nixos.org &
- uses: cachix/install-nix-action@v30
with:
install_url: https://hydra.nixos.org/job/nix/master/installerScript/latest-finished/download/1/install
install_options: "--tarball-url-prefix http://localhost:8080"
- 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