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: nix store optimise - name: Upload iso uses: actions/upload-artifact@v3.1.2 with: name: ${{ env.NAME }} path: result/iso/*.iso