diff options
| author | Ellie Huxtable <ellie@atuin.sh> | 2026-03-26 19:05:26 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-26 19:05:26 +0000 |
| commit | 3cdb6a62f75ab9dd5390f3506f5c62530d7299c7 (patch) | |
| tree | 69b5ee20cb1326fe30bb560179c6566a82f2707d /.depot/workflows/rust.yml | |
| parent | fix: remove unnecessary arboard/image-data default feature (#3345) (diff) | |
| download | atuin-3cdb6a62f75ab9dd5390f3506f5c62530d7299c7.zip | |
chore(ci): switch most workflows to depot ci (#3352)
Continuing the trend of shifting away from GitHub services. Depot is
faster, and more reliable.
Avoiding docker + release workflows for now, as those have been a pain
in the ass to get correct.
Will check and see if we can ensure the logs/etc can be public.
I'm going to merge this, see how well it works, and if we're good delete
the matching github workflows
<!-- Thank you for making a PR! Bug fixes are always welcome, but if
you're adding a new feature or changing an existing one, we'd really
appreciate if you open an issue, post on the forum, or drop in on
Discord -->
## Checks
- [ ] I am happy for maintainers to push small adjustments to this PR,
to speed up the review cycle
- [ ] I have checked that there are no existing pull requests for the
same thing
Diffstat (limited to '.depot/workflows/rust.yml')
| -rw-r--r-- | .depot/workflows/rust.yml | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/.depot/workflows/rust.yml b/.depot/workflows/rust.yml new file mode 100644 index 00000000..550995d7 --- /dev/null +++ b/.depot/workflows/rust.yml @@ -0,0 +1,187 @@ +# Depot CI Migration +# Source: .github/workflows/rust.yml +# +# No changes were necessary. + +name: Rust +on: + push: + branches: [main] + paths-ignore: + - "ui/**" + pull_request: + branches: [main] + paths-ignore: + - "ui/**" +env: + CARGO_TERM_COLOR: always +jobs: + build: + strategy: + matrix: + os: [depot-ubuntu-24.04, macos-14, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v6 + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.94.0 + - uses: actions/cache@v5 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }} + - name: Run cargo build common + run: cargo build -p atuin-common --locked --release + - name: Run cargo build client + run: cargo build -p atuin-client --locked --release + - name: Run cargo build server + run: cargo build -p atuin-server --locked --release + - name: Run cargo build main + run: cargo build --all --locked --release + cross-compile: + strategy: + matrix: + # There was an attempt to make cross-compiles also work on FreeBSD, but that failed with: + # + # warning: libelf.so.2, needed by <...>/libkvm.so, not found (try using -rpath or -rpath-link) + target: [x86_64-unknown-illumos] + runs-on: depot-ubuntu-24.04 + steps: + - uses: actions/checkout@v6 + - name: Install cross + uses: taiki-e/install-action@v2 + with: + tool: cross + - uses: actions/cache@v5 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ matrix.target }}-cross-compile-${{ hashFiles('**/Cargo.lock') }} + - name: Run cross build common + run: cross build -p atuin-common --locked --target ${{ matrix.target }} + - name: Run cross build client + run: cross build -p atuin-client --locked --target ${{ matrix.target }} + - name: Run cross build server + run: cross build -p atuin-server --locked --target ${{ matrix.target }} + - name: Run cross build main + run: | + cross build --all --locked --target ${{ matrix.target }} + unit-test: + strategy: + matrix: + os: [depot-ubuntu-24.04, macos-14, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v6 + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.94.0 + - uses: taiki-e/install-action@v2 + name: Install nextest + with: + tool: cargo-nextest + - uses: actions/cache@v5 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - name: Run cargo test + run: cargo nextest run --lib --bins + check: + strategy: + matrix: + os: [depot-ubuntu-24.04, macos-14, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v6 + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.94.0 + - uses: actions/cache@v5 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - name: Run cargo check (all features) + run: cargo check --all-features --workspace + - name: Run cargo check (no features) + run: cargo check --no-default-features --workspace + - name: Run cargo check (sync) + run: cargo check --no-default-features --features sync --workspace + - name: Run cargo check (server) + run: cargo check -p atuin-server + - name: Run cargo check (client only) + run: cargo check --no-default-features --features client --workspace + integration-test: + runs-on: depot-ubuntu-24.04 + services: + postgres: + image: postgres + env: + POSTGRES_USER: atuin + POSTGRES_PASSWORD: pass + POSTGRES_DB: atuin + ports: + - 5432:5432 + steps: + - uses: actions/checkout@v6 + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.94.0 + - uses: taiki-e/install-action@v2 + name: Install nextest + with: + tool: cargo-nextest + - uses: actions/cache@v5 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - name: Run cargo test + run: cargo nextest run --test '*' + env: + ATUIN_DB_URI: postgres://atuin:pass@localhost:5432/atuin + clippy: + runs-on: depot-ubuntu-24.04 + steps: + - uses: actions/checkout@v6 + - name: Install latest rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.94.0 + components: clippy + - uses: actions/cache@v5 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - name: Run clippy + run: cargo clippy -- -D warnings -D clippy::redundant_clone + format: + runs-on: depot-ubuntu-24.04 + steps: + - uses: actions/checkout@v6 + - name: Install latest rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.94.0 + components: rustfmt + - name: Format + run: cargo fmt -- --check |
