Skip to content

Fix: initial fixes for README/CI #3

Fix: initial fixes for README/CI

Fix: initial fixes for README/CI #3

Workflow file for this run

name: Codetracer CI
on:
push:
branches:
- main
pull_request:
jobs:
lint-bash:
runs-on: [self-hosted, nixos]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default -c ./ci/lint/bash.sh"
lint-nim:
runs-on: [self-hosted, nixos]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default -c ./ci/lint/nim.sh"
lint-nix:
runs-on: [self-hosted, nixos]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default -c ./ci/lint/nix.sh"
lint-rust:
runs-on: [self-hosted, nixos]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default -c ./ci/lint/rust.sh"
lint-ui-tests:
runs-on: [self-hosted, nixos]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default -c ./ci/lint/ui-tests.sh"
dev-build:
runs-on: [self-hosted, nixos]
needs:
- lint-bash
- lint-nim
- lint-nix
- lint-rust
- lint-ui-tests
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default --command ./ci/build/dev.sh"
nix-build:
runs-on: [self-hosted, nixos]
needs:
- lint-bash
- lint-nim
- lint-nix
- lint-rust
- lint-ui-tests
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default --command ./ci/build/nix.sh"
appimage-build:
runs-on: [self-hosted, nixos]
needs:
- lint-bash
- lint-nim
- lint-nix
- lint-rust
- lint-ui-tests
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- name: Build
run: "nix develop .#devShells.x86_64-linux.default --command ./ci/build/appimage.sh"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: AppImage
path: CodeTracer.AppImage
test-rust:
runs-on: [self-hosted, nixos]
needs:
- dev-build
- nix-build
- appimage-build
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default --command ./ci/test/rust.sh"
test-ui-tests:
runs-on: [self-hosted, nixos]
needs:
- dev-build
- nix-build
- appimage-build
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default --command ./ci/test/ui-tests.sh"
push-to-cachix:
runs-on: [self-hosted, nixos]
needs:
- test-rust
- test-ui-tests
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default --command ./ci/deploy/build-nix-and-push-to-cachix.sh"
build-and-deploy-docs:
runs-on: [self-hosted, nixos]
needs: [push-to-cachix]
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Nix
uses: metacraft-labs/nixos-modules/.github/install-nix@main
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
cachix-cache: ${{ vars.CACHIX_CACHE }}
trusted-public-keys: ${{ vars.TRUSTED_PUBLIC_KEYS }}
substituters: ${{ vars.SUBSTITUTERS }}
- run: "nix develop .#devShells.x86_64-linux.default --command ./ci/deploy/docs.sh"