diff --git a/.github/workflows/linux-lua.yml b/.github/workflows/linux-lua.yml index 6a5b6b2..1fc1346 100644 --- a/.github/workflows/linux-lua.yml +++ b/.github/workflows/linux-lua.yml @@ -1,6 +1,7 @@ -name: Linux Lua configuration +name: Full native tests on: + workflow_dispatch: push: paths: - "**/*.rs" @@ -20,15 +21,30 @@ permissions: contents: read jobs: - ubuntu-24-04: - runs-on: ubuntu-24.04 + native-tests: + name: Tests (${{ matrix.os }}) + strategy: + fail-fast: false + matrix: + os: [ubuntu-24.04, windows-2022, macos-15, macos-15-intel] + runs-on: ${{ matrix.os }} + timeout-minutes: 120 + env: + PYTHONUTF8: "1" + CARGO_TERM_COLOR: always steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-python@v5 + with: + python-version: "3.13" - name: Install native dependencies + if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ - build-essential cmake pkg-config libasound2-dev libdbus-1-dev libudev-dev \ + build-essential cmake pkg-config zsh libasound2-dev libdbus-1-dev libudev-dev \ libfontconfig1-dev libfreetype6-dev \ libegl1-mesa-dev libgl1-mesa-dev \ libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev \ @@ -38,8 +54,25 @@ jobs: with: toolchain: "1.97.1" - uses: Swatinem/rust-cache@v2 - - name: Test Lua configuration on Wayland and X11 build - run: | - cargo test --locked -p nebula config:: - - name: Check Linux release build - run: cargo check --workspace --release + - name: Test confirmation mouse dispatch and layout + run: >- + cargo test --locked -p nebula --bin pebrel --features gpui-test-support gpui_shell::prelude::tests::confirm_dialog + - name: Test reset backups and user data + if: ${{ !cancelled() }} + run: >- + cargo test --locked -p nebula-settings reset::tests:: + - name: Test all Python helpers + if: ${{ !cancelled() }} + run: python -m unittest discover -s scripts/tests -v + - name: Test all conformance harness helpers + if: ${{ !cancelled() }} + run: python -m unittest discover -s scripts/conformance/tests -v + - name: Test the full Rust workspace + if: ${{ !cancelled() }} + run: cargo test --locked --workspace + - name: Test all GPUI product and interaction cases + if: ${{ !cancelled() }} + run: cargo test --locked -p nebula --bin pebrel --features gpui-test-support + - name: Check the release workspace + if: ${{ !cancelled() }} + run: cargo check --locked --workspace --release