diff options
| author | Ellie Huxtable <ellie@elliehuxtable.com> | 2024-04-11 16:59:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-11 16:59:01 +0100 |
| commit | 6cd4319fcf540ef70f74cc2f10d0d4297ee7b788 (patch) | |
| tree | 3d24dbf70493c377e162d9941faac65c829623f9 /.github/workflows | |
| parent | feat(bash/blesh): use _ble_exec_time_ata for duration even in bash < 5 (#1940) (diff) | |
| download | atuin-6cd4319fcf540ef70f74cc2f10d0d4297ee7b788.zip | |
feat(gui): add base structure (#1935)
* initial
* ui things
* cargo
* update, add history refresh button
* history page a bit better, add initial dotfiles page
* re-org layout
* bye squigglies
* add dotfiles ui, show aliases
* add default shell detection
* put stats in a little drawer, alias import changes
* use new table for aliases, add alias deleting
* support adding aliases
* close drawer when added, no alias autocomplete
* clippy, format
* attempt to ensure gdk is installed ok
* sudo
* no linux things on mac ffs
* I forgot we build for windows too... end of day
* remove tauri backend from workspace
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/rust.yml | 288 |
1 files changed, 169 insertions, 119 deletions
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index a26e2e85..a824891e 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -2,9 +2,9 @@ name: Rust on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] env: CARGO_TERM_COLOR: always @@ -17,32 +17,45 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install rust - uses: dtolnay/rust-toolchain@master - with: + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: toolchain: stable - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }} + - uses: actions/cache@v3 + 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: Install dependencies + if: matrix.os != 'macos-14' && matrix.os != 'windows-latest' + run: | + sudo apt update + sudo apt install libwebkit2gtk-4.1-dev \ + build-essential \ + curl \ + wget \ + file \ + libssl-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev - - name: Run cargo build client - run: cargo build -p atuin-client --locked --release + - name: Run cargo build common + run: cargo build -p atuin-common --locked --release - - name: Run cargo build server - run: cargo build -p atuin-server --locked --release + - name: Run cargo build client + run: cargo build -p atuin-client --locked --release - - name: Run cargo build main - run: cargo build --all --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: @@ -54,32 +67,32 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install cross - uses: taiki-e/install-action@v1 - with: - tool: cross + - name: Install cross + uses: taiki-e/install-action@v1 + with: + tool: cross - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ matrix.target }}-cross-compile-${{ hashFiles('**/Cargo.lock') }} + - uses: actions/cache@v3 + 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 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 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 server + run: cross build -p atuin-server --locked --target ${{ matrix.target }} - - name: Run cross build main - run: cross build --all --locked --target ${{ matrix.target }} + - name: Run cross build main + run: cross build --all --locked --target ${{ matrix.target }} unit-test: strategy: @@ -88,29 +101,41 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install rust - uses: dtolnay/rust-toolchain@master - with: + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: toolchain: stable - - uses: taiki-e/install-action@v2 - name: Install nextest - with: - tool: cargo-nextest + - name: Install dependencies + if: matrix.os != 'macos-14' && matrix.os != 'windows-latest' + run: | + sudo apt update + sudo apt install libwebkit2gtk-4.1-dev \ + build-essential \ + curl \ + wget \ + file \ + libssl-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev + - uses: taiki-e/install-action@v2 + name: Install nextest + with: + tool: cargo-nextest - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${ runner.os }-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - uses: actions/cache@v3 + 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 + - name: Run cargo test + run: cargo nextest run --lib --bins check: strategy: @@ -119,35 +144,48 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install rust - uses: dtolnay/rust-toolchain@master - with: + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: toolchain: stable - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${ runner.os }-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - name: Install dependencies + if: matrix.os != 'macos-14' && matrix.os != 'windows-latest' + run: | + sudo apt update + sudo apt install libwebkit2gtk-4.1-dev \ + build-essential \ + curl \ + wget \ + file \ + libssl-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev + + - uses: actions/cache@v3 + 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 (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 (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 (sync) + run: cargo check --no-default-features --features sync --workspace - - name: Run cargo check (server) - run: cargo check --no-default-features --features server --workspace + - name: Run cargo check (server) + run: cargo check --no-default-features --features server --workspace - - name: Run cargo check (client only) - run: cargo check --no-default-features --features client --workspace + - name: Run cargo check (client only) + run: cargo check --no-default-features --features client --workspace integration-test: runs-on: ubuntu-latest @@ -163,66 +201,78 @@ jobs: - 5432:5432 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install rust - uses: dtolnay/rust-toolchain@master - with: + - name: Install rust + uses: dtolnay/rust-toolchain@master + with: toolchain: stable - - uses: taiki-e/install-action@v2 - name: Install nextest - with: - tool: cargo-nextest - + - uses: taiki-e/install-action@v2 + name: Install nextest + with: + tool: cargo-nextest - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${ runner.os }-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - uses: actions/cache@v3 + 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 + - name: Run cargo test + run: cargo nextest run --test '*' + env: + ATUIN_DB_URI: postgres://atuin:pass@localhost:5432/atuin clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install latest rust - uses: dtolnay/rust-toolchain@master - with: + - name: Install latest rust + uses: dtolnay/rust-toolchain@master + with: toolchain: stable components: clippy - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + - name: Install dependencies + if: matrix.os != 'macos-14' && matrix.os != 'windows-latest' + run: | + sudo apt update + sudo apt install libwebkit2gtk-4.1-dev \ + build-essential \ + curl \ + wget \ + file \ + libssl-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev + + - uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }} + + - name: Run clippy + run: cargo clippy -- -D warnings - - name: Run clippy - run: cargo clippy -- -D warnings - format: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Install latest rust - uses: dtolnay/rust-toolchain@master - with: + - name: Install latest rust + uses: dtolnay/rust-toolchain@master + with: toolchain: stable components: rustfmt - - name: Format - run: cargo fmt -- --check + - name: Format + run: cargo fmt -- --check |
