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 strategy: fail-fast: false matrix: toolchain: - stable - beta 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-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 - lua54 toolchain: - stable - beta 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 build --release --verbose --features=${{ matrix.features }} 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@master with: toolchain: ${{ matrix.toolchain }} - 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 }}