mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 02:13:55 -05:00
56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
name: Build NixOS iso
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 10 * * 2"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
target: [
|
|
live-gnome-unstable
|
|
]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Cache date
|
|
run: echo "DATE=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
|
|
|
|
- name: Filename friendly date
|
|
run: echo "BUILD_DATE=$(echo $DATE | sed -r -e 's/:/./g' -e 's/ /_/g')" >> $GITHUB_ENV
|
|
|
|
- name: Store branch name
|
|
run: echo "BUILD_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
|
|
|
- name: Store commit hash
|
|
run: echo "BUILD_COMMIT=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_ENV
|
|
|
|
- name: Generate output name
|
|
run: echo "NAME=${BUILD_DATE}_${BUILD_BRANCH}_${BUILD_COMMIT}_nixos_iso_${{ matrix.target }}" >> $GITHUB_ENV
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v20
|
|
|
|
- name: Check flake
|
|
uses: workflow/nix-shell-action@v3.2.1
|
|
with:
|
|
script: nix flake check .
|
|
|
|
- name: Build image
|
|
uses: workflow/nix-shell-action@v3.2.1
|
|
with:
|
|
script: nix build .#nixosConfigurations.${{ matrix.target }}.config.system.build.isoImage
|
|
|
|
- name: Optimize nix store
|
|
uses: workflow/nix-shell-action@v3.2.1
|
|
with:
|
|
script: sudo nix store optimise
|
|
|
|
- name: Upload iso
|
|
uses: actions/upload-artifact@v3.1.2
|
|
with:
|
|
name: ${{ env.NAME }}
|
|
path: result/iso/*.iso |