refactor: remove tauri runtime and harden linux compatibility #24
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| version-consistency: | |
| name: Version Consistency | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --no-frozen-lockfile | |
| - run: pnpm version:check | |
| cli-cross-platform: | |
| name: CLI Unit (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| needs: version-consistency | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-22.04 | |
| - macos-latest | |
| - windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --no-frozen-lockfile | |
| - run: pnpm test:cli | |
| verify-linux: | |
| name: Verify Linux Runtime | |
| runs-on: ubuntu-22.04 | |
| needs: version-consistency | |
| env: | |
| CODER_STUDIO_START_TIMEOUT_MS: 45000 | |
| CODER_STUDIO_RUST_TARGET: x86_64-unknown-linux-musl | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Linux build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential \ | |
| curl \ | |
| file \ | |
| musl-tools \ | |
| xvfb \ | |
| wget | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install Linux musl target | |
| run: rustup target add x86_64-unknown-linux-musl | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: apps/server -> .build/server/target | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --no-frozen-lockfile | |
| - run: pnpm test:cli | |
| - run: cargo fmt --manifest-path apps/server/Cargo.toml --all --check | |
| - run: cargo clippy --manifest-path apps/server/Cargo.toml --all-targets -- -D warnings | |
| - run: cargo check --manifest-path apps/server/Cargo.toml | |
| - run: cargo test --manifest-path apps/server/Cargo.toml | |
| - run: pnpm pack:local | |
| - run: xvfb-run -a pnpm test:smoke | |
| - run: npx playwright install --with-deps chromium | |
| - run: xvfb-run -a pnpm test:e2e:release | |
| - uses: actions/upload-artifact@v4 | |
| if: success() | |
| with: | |
| name: release-artifacts-linux | |
| path: .artifacts/* |