refactor(volo-build): adapt to the codegen backend new trait and new codegen context defined in pilota-build #1767
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| env: | |
| RUST_BACKTRACE: 1 | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| ci-pass: | |
| name: CI is green | |
| runs-on: ubuntu-latest | |
| needs: | |
| - test-linux | |
| - test-linux-aarch64 | |
| - test-macos | |
| - test-windows | |
| - lint | |
| - docs-check | |
| - test-cli | |
| steps: | |
| - run: exit 0 | |
| lint: | |
| runs-on: [self-hosted, Linux, amd64] | |
| strategy: | |
| matrix: | |
| rust: [nightly] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt,clippy | |
| toolchain: ${{matrix.rust}} | |
| - uses: actions-rs/clippy-check@v1 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Format check | |
| run: | | |
| cargo fmt -- --check | |
| docs-check: | |
| runs-on: [self-hosted, Linux, amd64] | |
| strategy: | |
| matrix: | |
| rust: [nightly] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt,clippy | |
| toolchain: ${{matrix.rust}} | |
| - name: Docs check | |
| run: | | |
| cargo rustdoc -p volo --all-features -- --deny warnings | |
| cargo rustdoc -p volo-build --all-features -- --deny warnings | |
| cargo rustdoc -p volo-grpc --all-features -- --deny warnings | |
| cargo rustdoc -p volo-http --all-features -- --deny warnings | |
| cargo rustdoc -p volo-thrift --all-features -- --deny warnings | |
| test-linux: | |
| runs-on: [self-hosted, Linux, amd64] | |
| strategy: | |
| matrix: | |
| rust: [nightly, stable] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt,clippy | |
| toolchain: ${{matrix.rust}} | |
| - name: Run tests | |
| run: | | |
| bash scripts/install-linux-dependencies.sh | |
| bash scripts/clippy-and-test.sh | |
| test-linux-aarch64: | |
| runs-on: [self-hosted, Linux, aarch64] | |
| strategy: | |
| matrix: | |
| rust: [stable] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt,clippy | |
| toolchain: ${{matrix.rust}} | |
| - name: Run tests | |
| run: | | |
| bash scripts/install-linux-dependencies.sh | |
| bash scripts/clippy-and-test.sh --no-test | |
| test-macos: | |
| runs-on: [self-hosted, macOS] | |
| strategy: | |
| matrix: | |
| rust: [stable] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt,clippy | |
| toolchain: ${{matrix.rust}} | |
| - name: Run tests | |
| run: | | |
| bash scripts/clippy-and-test.sh --no-test | |
| test-windows: | |
| runs-on: [self-hosted, Windows] | |
| strategy: | |
| matrix: | |
| rust: [stable] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt,clippy | |
| toolchain: ${{matrix.rust}} | |
| - name: Run tests | |
| run: | | |
| bash scripts/clippy-and-test.sh --no-test | |
| test-cli: | |
| runs-on: [self-hosted, Linux, amd64] | |
| strategy: | |
| matrix: | |
| rust: [stable] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| components: rustfmt | |
| toolchain: ${{matrix.rust}} | |
| - name: Cli tests | |
| run: | | |
| bash scripts/volo-cli-test.sh | |
| coverage: | |
| runs-on: [self-hosted, Linux, amd64] | |
| timeout-minutes: 40 | |
| permissions: | |
| contents: read | |
| checks: write | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt, clippy | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-llvm-cov | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-nextest | |
| - name: Generate coverage (LCOV + HTML) | |
| run: | | |
| bash scripts/coverage.sh | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-html | |
| path: target/llvm-cov/html | |
| - name: Upload to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: lcov.info | |
| fail_ci_if_error: true | |
| verbose: true |