name: test on: push: pull_request: types: [synchronize, review_requested] env: CARGO_TERM_COLOR: always permissions: contents: read jobs: test-unit: runs-on: ubuntu-latest steps: - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - run: cargo test --verbose test-beta: runs-on: ubuntu-latest needs: [test-unit] strategy: fail-fast: false matrix: toolchain: - beta - nightly steps: - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.toolchain }} - run: cargo test --verbose test-functional: needs: [test-unit] runs-on: ubuntu-latest steps: - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - run: cargo test --verbose --features=test-e2e env: CODEMP_TEST_USERNAME_ALICE: ${{ secrets.CODEMP_TEST_USERNAME_ALICE }} CODEMP_TEST_PASSWORD_ALICE: ${{ secrets.CODEMP_TEST_PASSWORD_ALICE }} CODEMP_TEST_USERNAME_BOB: ${{ secrets.CODEMP_TEST_USERNAME_BOB }} CODEMP_TEST_PASSWORD_BOB: ${{ secrets.CODEMP_TEST_PASSWORD_BOB }} test-build: needs: [test-unit] runs-on: ${{ matrix.runner }} strategy: fail-fast: false matrix: runner: - ubuntu-latest - windows-latest - macos-latest features: - java - js - py - luajit steps: - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - run: cargo build --release --verbose --features=${{ matrix.features }}