mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 01:35:36 +00:00
90 lines
2 KiB
YAML
90 lines
2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Rust stable
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Cache cargo + target
|
|
uses: swatinem/rust-cache@v2
|
|
|
|
- name: Check formatting
|
|
run: cargo fmt --check
|
|
|
|
- name: Clippy
|
|
run: cargo clippy -- -D warnings
|
|
|
|
- name: Test
|
|
run: cargo test
|
|
|
|
- name: Publish ownership snapshot tests
|
|
run: scripts/publish-ownership-snapshot-test.sh
|
|
|
|
- name: Package
|
|
run: cargo package --locked
|
|
|
|
- name: Install Smoke
|
|
run: |
|
|
root="$(mktemp -d)"
|
|
cargo install --path . --locked --root "$root"
|
|
"$root/bin/idx" version
|
|
scripts/live-smoke.sh --bin "$root/bin/idx" --no-build --mode mock
|
|
|
|
nix:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v30
|
|
|
|
- name: Build default package
|
|
run: nix build .#default
|
|
|
|
- name: Run default app
|
|
run: nix run .#default -- version
|
|
|
|
- name: Build ownership publisher
|
|
run: |
|
|
nix build .#ownership-publisher
|
|
./result/bin/idx-ownership-publish --help
|
|
|
|
install-script:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-14]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: ShellCheck
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
shellcheck -s sh install.sh
|
|
shellcheck scripts/install-sh-test.sh
|
|
|
|
- name: Test install.sh with sh
|
|
run: scripts/install-sh-test.sh
|
|
|
|
- name: Test install.sh with dash
|
|
if: runner.os == 'Linux'
|
|
run: INSTALL_SH_SHELL=dash scripts/install-sh-test.sh
|