lix-installer/.github/workflows/ci.yml
2022-11-08 13:04:19 -08:00

145 lines
4.6 KiB
YAML

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 --no-confirm
- name: Test run
run: |
source
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 --no-confirm
- 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: Initial install
run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic install darwin-multi --no-confirm
- name: Test run
run: |
source
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 --no-confirm
- name: Repeated uninstall
run: sudo RUST_LOG=harmonic=trace RUST_BACKTRACE=full ./harmonic uninstall --no-confirm