chore(flake/winboat): cbb277ee -> 23053bb5 #59249
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - try | |
| pull_request: | |
| permissions: {} | |
| env: | |
| flake: github:${{ github.repository }}/${{ github.sha }} | |
| nix-conf: |- | |
| accept-flake-config = true | |
| always-allow-substitutes = true | |
| builders-use-substitutes = true | |
| max-jobs = auto | |
| nix-fast-build-args: --no-nom --skip-cached --retries=3 --option accept-flake-config true | |
| jobs: | |
| flake-check: | |
| name: flake check (${{ matrix.systems.platform }}) | |
| runs-on: ${{ matrix.systems.os }} | |
| strategy: | |
| matrix: | |
| systems: | |
| - os: ubuntu-24.04 | |
| platform: x86_64-linux | |
| - os: ubuntu-22.04-arm | |
| platform: aarch64-linux | |
| - os: macos-15 | |
| platform: aarch64-darwin | |
| steps: | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| with: | |
| nix_conf: ${{ env.nix-conf }} | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: bbigras-nix-config | |
| authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
| extraPullNames: nix-community | |
| - name: nix-flake-check | |
| run: nix flake check '${{ env.flake }}' --impure --option allow-import-from-derivation true | |
| flake-show: | |
| name: flake show (${{ matrix.systems.platform }}) | |
| runs-on: ${{ matrix.systems.os }} | |
| strategy: | |
| matrix: | |
| systems: | |
| - os: ubuntu-24.04 | |
| platform: x86_64-linux | |
| - os: ubuntu-22.04-arm | |
| platform: aarch64-linux | |
| - os: macos-15 | |
| platform: aarch64-darwin | |
| steps: | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| with: | |
| nix_conf: ${{ env.nix-conf }} | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: bbigras-nix-config | |
| authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
| extraPullNames: nix-community | |
| - name: nix-flake-show | |
| run: nix flake show '${{ env.flake }}' --impure --option allow-import-from-derivation true | |
| get-attrs: | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| build: ${{ steps.get-attrs.outputs.build }} | |
| eval: ${{ steps.get-attrs.outputs.eval }} | |
| darwin-hosts: ${{ steps.get-attrs.outputs.darwin-hosts }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| sparse-checkout: | | |
| nix/hosts.nix | |
| .github/workflows/get-attrs.py | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| - id: get-attrs | |
| run: ./.github/workflows/get-attrs.py | |
| eval: | |
| name: eval ${{ matrix.attrs.name }} (${{ matrix.attrs.hostPlatform }}) | |
| if: ${{ fromJson(needs.get-attrs.outputs.eval)[0] != null }} | |
| runs-on: ${{ matrix.attrs.runsOn }} | |
| needs: [get-attrs] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| attrs: ${{ fromJson(needs.get-attrs.outputs.eval) }} | |
| env: | |
| system: ${{ matrix.attrs.hostPlatform }} | |
| steps: | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| with: | |
| nix_conf: ${{ env.nix-conf }} | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: bbigras-nix-config | |
| authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
| extraPullNames: nix-community | |
| - name: eval | |
| run: | | |
| nix eval --raw '${{ env.flake }}#${{ matrix.attrs.attr }}' --impure | |
| build-linux-builder: | |
| name: build linux-builder for ${{ matrix.attrs.name }} (${{ matrix.attrs.equivalentLinuxPlatform }}) | |
| if: ${{ fromJson(needs.get-attrs.outputs.darwin-hosts)[0] != null }} | |
| runs-on: ${{ matrix.attrs.equivalentLinuxRunner }} | |
| needs: [get-attrs] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| attrs: ${{ fromJson(needs.get-attrs.outputs.darwin-hosts) }} | |
| env: | |
| system: ${{ matrix.attrs.equivalentLinuxPlatform }} | |
| steps: | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| with: | |
| nix_conf: ${{ env.nix-conf }} | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: bbigras-nix-config | |
| authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
| extraPullNames: nix-community | |
| - name: nix-fast-build | |
| run: nix run '${{ env.flake }}#nix-fast-build' -- ${{ env.nix-fast-build-args }} --systems=${{ env.system }} --flake='${{ env.flake }}#${{ matrix.attrs.linuxBuilderAttr }}' | |
| build-darwin-host: | |
| name: build ${{ matrix.attrs.name }} (${{ matrix.attrs.hostPlatform }}) | |
| if: ${{ fromJson(needs.get-attrs.outputs.darwin-hosts)[0] != null }} | |
| runs-on: ${{ matrix.attrs.runsOn }} | |
| needs: [get-attrs, build-linux-builder] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| attrs: ${{ fromJson(needs.get-attrs.outputs.darwin-hosts) }} | |
| env: | |
| system: ${{ matrix.attrs.hostPlatform }} | |
| steps: | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| with: | |
| nix_conf: ${{ env.nix-conf }} | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: bbigras-nix-config | |
| authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
| extraPullNames: nix-community | |
| - name: nix-fast-build | |
| run: nix run '${{ env.flake }}#nix-fast-build' -- ${{ env.nix-fast-build-args }} --systems=${{ env.system }} --flake='${{ env.flake }}#${{ matrix.attrs.attr }}' | |
| build: | |
| name: build ${{ matrix.attrs.name }} (${{ matrix.attrs.hostPlatform }}) | |
| runs-on: ${{ matrix.attrs.runsOn }} | |
| needs: [get-attrs] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| attrs: ${{ fromJson(needs.get-attrs.outputs.build) }} | |
| env: | |
| system: ${{ matrix.attrs.hostPlatform }} | |
| steps: | |
| - uses: wimpysworld/nothing-but-nix@main | |
| with: | |
| hatchet-protocol: "holster" | |
| nix-permission-edict: true | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| with: | |
| nix_conf: ${{ env.nix-conf }} | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: bbigras-nix-config | |
| authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
| extraPullNames: nix-community | |
| - name: nix-fast-build | |
| run: nix run '${{ env.flake }}#nix-fast-build' -- ${{ env.nix-fast-build-args }} --systems=${{ env.system }} --flake='${{ env.flake }}#${{ matrix.attrs.attr }}' | |
| check: | |
| runs-on: ubuntu-24.04 | |
| needs: | |
| [ | |
| flake-check, | |
| flake-show, | |
| build, | |
| eval, | |
| build-linux-builder, | |
| build-darwin-host, | |
| ] | |
| if: always() | |
| steps: | |
| - uses: re-actors/alls-green@release/v1 | |
| with: | |
| jobs: ${{ toJSON(needs) }} | |
| allowed-skips: eval, build-linux-builder, build-darwin-host |