name: test on: push: jobs: test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - target: x86_64-linux os: ubuntu-latest - target: aarch64-linux os: ubuntu-latest - target: x86_64-windows os: ubuntu-latest - target: x86_64-darwin os: macos-13 - target: aarch64-darwin os: macos-14 steps: - name: Checkout code uses: actions/checkout@v2 - name: Install Nix uses: cachix/install-nix-action@v27 with: nix_path: nixpkgs=channel:nixos-24.05 enable_kvm: true extra_nix_config: "experimental-features = nix-command flakes" - name: Cache Nix store uses: cachix/cachix-action@v15 with: name: soywod authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' extraPullNames: nix-community - name: Build release run: | nix build -L .#${{ matrix.target }} nix run -L .#${{ matrix.target }} -- --version - name: Upload release artifact (tarball) uses: actions/upload-artifact@v4 with: name: "himalaya.${{ matrix.target }}.tgz" path: result/himalaya.tgz - name: Upload release artifact (zip) uses: actions/upload-artifact@v4 with: name: "himalaya.${{ matrix.target }}.zip" path: result/himalaya.zip