name: CI on: pull_request: push: branches: [main] jobs: Format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: Check rustfmt run: nix develop --command ci-check-rustfmt Spelling: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: Check Spelling run: nix develop --command ci-check-spelling NixFormatting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: Check nixpkgs-fmt formatting run: nix develop --command ci-check-nixpkgs-fmt EditorConfig: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: Check EditorConfig conformance run: nix develop --command ci-check-editorconfig Test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: Run tests run: nix develop --command ci-test-rust # run: nix develop -c -- cargo test -- --include-ignored BuildX86Linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} # Runs clippy as part of the preBuild. - name: Build harmonic run: nix build .#packages.x86_64-linux.harmonic -L - name: Build harmonicStatic run: nix build .#packages.x86_64-linux.harmonicStatic -L - name: Create artifact for x86_64-linux harmonicStatic uses: actions/upload-artifact@v3 with: name: harmonic-x86_64-linux path: | result/bin/harmonic RunX86Linux: runs-on: ubuntu-latest needs: BuildX86Linux steps: - uses: actions/download-artifact@v3 with: name: harmonic-x86_64-linux - name: Set executable run: chmod +x ./harmonic - name: Initial install run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic install linux-multi --extra-conf "access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}" --no-confirm - name: Test run run: | . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh nix run nixpkgs#fortune - name: Initial uninstall run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic uninstall --no-confirm - name: Repeated install run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic install linux-multi --extra-conf "access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}" --no-confirm - name: Repeated test run run: | . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh nix run nixpkgs#fortune - name: Repeated uninstall run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic uninstall --no-confirm BuildX86Darwin: runs-on: macos-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v17 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} # Runs clippy as part of the preBuild. - name: Build harmonic run: nix build .#packages.x86_64-darwin.harmonic -L - name: Create artifact for x86_64-darwin harmonic uses: actions/upload-artifact@v3 with: name: harmonic-x86_64-darwin path: | result/bin/harmonic RunX86Darwin: runs-on: macos-latest needs: BuildX86Darwin steps: - uses: actions/download-artifact@v3 with: name: harmonic-x86_64-darwin - name: Set executable run: chmod +x ./harmonic - name: Initial install run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic install darwin-multi --extra-conf "access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}" --no-confirm - name: Test run run: | . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh nix run nixpkgs#fortune - name: Initial uninstall run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic uninstall --no-confirm - name: Repeated install run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic install darwin-multi --extra-conf "access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}" --no-confirm - name: Repeated test run run: | . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh nix run nixpkgs#fortune - name: Repeated uninstall run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic uninstall --no-confirm