diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml index 164a04c..5907538 100644 --- a/.forgejo/workflows/ci.yaml +++ b/.forgejo/workflows/ci.yaml @@ -14,28 +14,18 @@ jobs: steps: - uses: actions/checkout@v4 - name: Run unit tests - run: nix build --print-build-logs .#checks.x86_64-linux.default + run: nix develop --command cargo test --lib build: - name: Build ${{ matrix.target }} + name: Build ${{ matrix.package }} runs-on: native strategy: fail-fast: false matrix: - include: - - package: x86_64-linux - target: x86_64-unknown-linux-gnu - - package: x86_64-linux-musl - target: x86_64-unknown-linux-musl - - package: aarch64-linux - target: aarch64-unknown-linux-gnu - # TODO: need macOS runners for these - # - package: default - # target: x86_64-apple-darwin - # system: x86_64-darwin - # - package: default - # target: aarch64-apple-darwin - # system: aarch64-darwin + package: + - default + - x86_64-linux-musl + - aarch64-linux steps: - uses: actions/checkout@v4 @@ -44,14 +34,23 @@ jobs: - name: Prepare release artifact if: startsWith(forgejo.ref, 'refs/tags/') - run: cp result/bin/mkv mkv-${{ matrix.target }} + run: | + target="${{ matrix.package }}" + if [ "$target" = "default" ]; then + target="x86_64-unknown-linux-gnu" + elif [ "$target" = "x86_64-linux-musl" ]; then + target="x86_64-unknown-linux-musl" + elif [ "$target" = "aarch64-linux" ]; then + target="aarch64-unknown-linux-gnu" + fi + cp result/bin/mkv "mkv-${target}" - name: Upload artifact if: startsWith(forgejo.ref, 'refs/tags/') uses: actions/upload-artifact@v3 with: - name: mkv-${{ matrix.target }} - path: mkv-${{ matrix.target }} + name: mkv-${{ matrix.package }} + path: mkv-* release: name: Create release diff --git a/flake.nix b/flake.nix index 109ed01..5b47279 100644 --- a/flake.nix +++ b/flake.nix @@ -35,19 +35,11 @@ }; packages = { default = mkv; - x86_64-linux = mkv; } // pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux { x86_64-linux-musl = mkMkv pkgs.pkgsCross.musl64; aarch64-linux = mkMkv pkgs.pkgsCross.aarch64-multiplatform; }; - checks.default = mkv.overrideAttrs { - doCheck = true; - checkPhase = '' - runHook preCheck - cargo test --lib - runHook postCheck - ''; - }; + checks.default = mkv.overrideAttrs { doCheck = true; }; } ); }