Do not introduce logic in HDL for generic pack/unpack/maybeUnpack paths #688
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: Nix Packaging | |
| on: push | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| packages_common: | |
| name: Build Common (${{matrix.ghc}}) | |
| runs-on: self-hosted | |
| strategy: | |
| # If caching fails for one package, then we are still interested in caching other packages | |
| fail-fast: false | |
| matrix: | |
| ghc: [ | |
| ghc9124, | |
| ghc9103, | |
| ghc984, | |
| ghc967 | |
| ] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Authenticate cache | |
| env: | |
| ATTIC_AUTH_TOKEN: ${{ secrets.ATTIC_SECRET }} | |
| run: .ci/attic-auth.sh | |
| # Most clash- related packages depend on these three packages, having them be build | |
| # sequentially and then the other packages in parallel speeds up CI | |
| # | |
| # We upload each build result to the local cache immediately, even if later steps fail it | |
| # has some older steps cached, so the re-run goes faster | |
| # Although I'm not entirely sure that it works... | |
| # Well, it does not cause any harm so might as well keep it | |
| - run: | | |
| nix build -L .#clashPackages-${{matrix.ghc}}.clash-prelude | |
| attic push public $(nix path-info .#clashPackages-${{matrix.ghc}}.clash-prelude) | |
| - run: | | |
| nix build -L .#clashPackages-${{matrix.ghc}}.clash-lib | |
| attic push public $(nix path-info .#clashPackages-${{matrix.ghc}}.clash-lib) | |
| - run: | | |
| nix build -L .#clashPackages-${{matrix.ghc}}.clash-ghc | |
| attic push public $(nix path-info .#clashPackages-${{matrix.ghc}}.clash-ghc) | |
| - name: Cachix | |
| if: github.ref == 'refs/heads/master' | |
| env: | |
| CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_SECRET }} | |
| run: | | |
| nix path-info .#clashPackages-${{matrix.ghc}}.clash-prelude | cachix push clash-lang | |
| nix path-info .#clashPackages-${{matrix.ghc}}.clash-lib | cachix push clash-lang | |
| nix path-info .#clashPackages-${{matrix.ghc}}.clash-ghc | cachix push clash-lang | |
| packages_other: | |
| name: Build Other (${{matrix.ghc}}, ${{matrix.package}}) | |
| runs-on: self-hosted | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ghc: [ | |
| ghc9124, | |
| ghc9103, | |
| ghc984, | |
| ghc967 | |
| ] | |
| package: [ | |
| "clash-benchmark", | |
| "clash-lib-hedgehog", | |
| "clash-prelude-hedgehog", | |
| "clash-profiling", | |
| "clash-profiling-prepare", | |
| "clash-term", | |
| "clash-testsuite" | |
| ] | |
| needs: packages_common | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Authenticate cache | |
| env: | |
| ATTIC_AUTH_TOKEN: ${{ secrets.ATTIC_SECRET }} | |
| run: .ci/attic-auth.sh | |
| - name: Building ${{matrix.ghc}} | |
| run: nix build -L .#clashPackages-${{matrix.ghc}}.${{matrix.package}} | |
| - name: Local cache | |
| run: attic push public $(nix path-info .#clashPackages-${{matrix.ghc}}.${{matrix.package}}) | |
| - name: Cachix | |
| if: github.ref == 'refs/heads/master' | |
| env: | |
| CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_SECRET }} | |
| run: nix path-info .#clashPackages-${{matrix.ghc}}.${{matrix.package}} | cachix push clash-lang | |
| developer_shells: | |
| name: Build Developer Shells (${{matrix.ghc}}) | |
| runs-on: self-hosted | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ghc: [ | |
| ghc9124, | |
| ghc9103, | |
| ghc984, | |
| ghc967 | |
| ] | |
| needs: packages_common | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Authenticate cache | |
| env: | |
| ATTIC_AUTH_TOKEN: ${{ secrets.ATTIC_SECRET }} | |
| run: .ci/attic-auth.sh | |
| - name: Nix devShell ${{matrix.ghc}} | |
| run: nix build -L .#devShells.x86_64-linux.${{matrix.ghc}} | |
| - name: Local cache | |
| run: attic push public $(nix path-info .#devShells.x86_64-linux.${{matrix.ghc}}) | |
| - name: Cachix | |
| if: github.ref == 'refs/heads/master' | |
| env: | |
| CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_SECRET }} | |
| run: nix path-info .#devShells.x86_64-linux.${{matrix.ghc}} | cachix push clash-lang |