Skip to content

performance improvements #248

performance improvements

performance improvements #248

Workflow file for this run

name: "build and test"
on:
pull_request:
workflow_dispatch:
push:
branches: [ "ci", "main" ]
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
fail-fast: false
matrix:
system: [ x86_64-linux, aarch64-linux ]
steps:
- uses: actions/checkout@v4
with:
# Nix Flakes doesn't work on shallow clones
fetch-depth: 0
- uses: cachix/install-nix-action@v26
with:
extra_nix_config: |
experimental-features = nix-command flakes
extra-platforms = ${{ matrix.system }}
- uses: cachix/cachix-action@v14
with:
name: nix-portable
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
image: tonistiigi/binfmt@sha256:8de6f2decb92e9001d094534bf8a92880c175bd5dfb4a9d8579f26f09821cfa2
platforms: all
- name: Install binfmt support
run: sudo apt-get install -y
- run: 'nix build -L .#defaultPackage.${{ matrix.system }}'
- name: Archive result
uses: actions/upload-artifact@v4
with:
name: nix-portable-${{ matrix.system }}
path: result/bin/nix-portable
test_qemu:
name: Test via qemu
needs: build
if: true
runs-on: ubuntu-latest
continue-on-error: true
strategy:
fail-fast: false
matrix:
qemu_os: [ arch, centos7, debian, fedora, nixos, ubuntu_22_04, ubuntu_23_10, ubuntu_24_04, debian-aarch64 ]
steps:
- uses: actions/checkout@v4
with:
# Nix Flakes doesn't work on shallow clones
fetch-depth: 0
- uses: cachix/install-nix-action@v26
with:
extra_nix_config: |
experimental-features = nix-command flakes
extra-platforms = ${{ matrix.system }}
- uses: cachix/cachix-action@v14
with:
name: nix-portable
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
image: tonistiigi/binfmt@sha256:8de6f2decb92e9001d094534bf8a92880c175bd5dfb4a9d8579f26f09821cfa2
platforms: all
- name: Install binfmt support
run: sudo apt-get install -y
- run: 'nix run -L .#job-qemu-${{ matrix.qemu_os }}'
# test_nix-static:
# name: Test nix-static via qemu
# needs: build
# if: true
# runs-on: ubuntu-latest
# continue-on-error: true
# strategy:
# fail-fast: false
# matrix:
# qemu_os: [ arch, centos7, debian, fedora, nixos, ubuntu, debian-aarch64 ]
# steps:
# - uses: actions/checkout@v4
# with:
# # Nix Flakes doesn't work on shallow clones
# fetch-depth: 0
# - uses: cachix/install-nix-action@v26
# with:
# extra_nix_config: |
# experimental-features = nix-command flakes
# extra-platforms = ${{ matrix.system }}
# - uses: cachix/cachix-action@v14
# with:
# name: nix-portable
# authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - run: 'nix run -L .#job-qemu-${{ matrix.qemu_os }}-nix-static'
test_docker:
name: Test inside docker container
needs: build
if: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
# Nix Flakes doesn't work on shallow clones
fetch-depth: 0
- uses: cachix/install-nix-action@v26
with:
extra_nix_config: |
experimental-features = nix-command flakes
- uses: cachix/cachix-action@v14
with:
name: nix-portable
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix run -L .#job-docker-debian
test_github:
name: Test inside github action
needs: build
if: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
# Nix Flakes doesn't work on shallow clones
fetch-depth: 0
- uses: cachix/install-nix-action@v26
with:
extra_nix_config: |
experimental-features = nix-command flakes
- run: nix run -L .#job-local