Skip to content

Nix flake update

Nix flake update #136

Workflow file for this run

name: Ci
on:
push:
branches:
- nix
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
MAINNET_VERSION: v24.23.0
TESTNET_VERSION: v25.0.0
jobs:
nix-build-aarch64-mainnet:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: nixbuild/nix-quick-install-action@master
with:
nix_conf: |
extra-platforms = aarch64-linux
extra-sandbox-paths = /etc/docker/config.json=/home/runner/.docker/config.json
- uses: DeterminateSystems/magic-nix-cache-action@v2
- run: >
nix run github:nix-community/nix-eval-jobs
-- --gc-roots-dir gcroot
--flake
".#packages.aarch64-linux.mainnet"
- run: >
nix run github:Mic92/nix-fast-build
-- --skip-cached --no-nom
--systems aarch64-linux
--flake
".#packages.aarch64-linux.mainnet"
- run: |
nix build .#packages.aarch64-linux.mainnet
docker load < result
docker tag mainnet:nix ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-aarch64
docker push ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-aarch64
docker manifest create --amend ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-aarch64
docker manifest create --amend ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-amd64
docker manifest push ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION
nix-build-aarch64-testnet:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: nixbuild/nix-quick-install-action@master
with:
nix_conf: |
extra-platforms = aarch64-linux
extra-sandbox-paths = /etc/docker/config.json=/home/runner/.docker/config.json
- uses: DeterminateSystems/magic-nix-cache-action@v2
- run: >
nix run github:nix-community/nix-eval-jobs
-- --gc-roots-dir gcroot
--flake
".#packages.aarch64-linux.testnet"
- run: >
nix run github:Mic92/nix-fast-build
-- --skip-cached --no-nom
--systems aarch64-linux
--flake
".#packages.aarch64-linux.testnet"
- run: |
nix build .#packages.aarch64-linux.testnet
docker load < result
docker tag testnet:nix ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-aarch64
docker push ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-aarch64
docker manifest create --amend ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-aarch64
docker manifest create --amend ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-amd64
docker manifest push ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION
nix-build-amd64:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: nixbuild/nix-quick-install-action@master
with:
nix_conf: |
extra-sandbox-paths = /etc/docker/config.json=/home/runner/.docker/config.json
- uses: DeterminateSystems/magic-nix-cache-action@v2
- run: >
nix run github:nix-community/nix-eval-jobs
-- --gc-roots-dir gcroot
--flake
".#packages.x86_64-linux"
- run: >
nix run github:Mic92/nix-fast-build
-- --skip-cached --no-nom
--systems x86_64-linux
--flake
".#packages.x86_64-linux"
- run: |
nix build .#packages.x86_64-linux.mainnet
docker load < result
docker tag mainnet:nix ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-amd64
docker push ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-amd64
docker manifest create --amend ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION-amd64
docker manifest push ghcr.io/cronos-labs/external-node:mainnet-$MAINNET_VERSION
nix build .#packages.x86_64-linux.testnet
docker load < result
docker tag testnet:nix ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-amd64
docker push ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-amd64
docker manifest create --amend ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION-amd64
docker manifest push ghcr.io/cronos-labs/external-node:testnet-$TESTNET_VERSION