Skip to content

build

build #118

Workflow file for this run

name: build
on:
push:
branches: [ main ]
paths-ignore:
- '**.md'
- '.gitignore'
repository_dispatch:
types: [ build ]
workflow_dispatch:
permissions:
contents: write
jobs:
setup:
runs-on: ubuntu-latest
outputs:
routers: ${{ steps.get_routers.outputs.routers }}
date: ${{ steps.get_routers.outputs.date }}
steps:
- name: Clone
uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Get routers
id: get_routers
run: |
result=$(nix eval .#packages.x86_64-linux --apply "x: builtins.toJSON (builtins.attrNames x)" --raw)
echo "routers=${result}" >> $GITHUB_OUTPUT
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
build:
needs: setup
runs-on: ubuntu-latest
strategy:
matrix:
router: ${{ fromJson(needs.setup.outputs.routers) }}
fail-fast: false
steps:
- name: Clone
uses: actions/checkout@v4
with:
persist-credentials: 'true'
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Build image for ${{ matrix.router }}
run: nix build .#${{ matrix.router }}
- name: Rename files
run: |
mkdir -p ./upload
cp -R ./result/* ./upload
if [ -f ./upload/sha256sums ]; then
mv ./upload/sha256sums ./upload/${{ matrix.router }}.sha256sums
fi
if [ -f ./upload/profiles.json ]; then
mv ./upload/profiles.json ./upload/${{ matrix.router }}.profiles.json
fi
- name: Upload release for ${{ matrix.router }}
uses: xresloader/upload-to-github-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
file: "upload/*"
overwrite: true
update_latest_release: true
default_release_name: "Weekly build"
update_release_body: "${{ needs.setup.outputs.date }}"
draft: false