Implement pipeline #145
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
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| name: continuous-integration | |
| env: | |
| NUSHELL_CARGO_PROFILE: ci | |
| NU_LOG_LEVEL: DEBUG | |
| CLIPPY_OPTIONS: "-D warnings -D clippy::unwrap_used" | |
| jobs: | |
| fmt-clippy: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| # Pinning to Ubuntu 22.04 because building on newer Ubuntu versions causes linux-gnu | |
| # builds to link against a too-new-for-many-Linux-installs glibc version. Consider | |
| # revisiting this when 22.04 is closer to EOL (June 2027) | |
| platform: [macos-latest, ubuntu-22.04] | |
| feature: [default] | |
| include: | |
| - feature: default | |
| flags: "" | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Rust toolchain and cache | |
| uses: actions-rust-lang/setup-rust-toolchain@v1.5.0 | |
| with: | |
| rustflags: "" | |
| - name: cargo fmt | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace ${{ matrix.flags }} --exclude nu_plugin_* -- $CLIPPY_OPTIONS | |
| # In tests we don't have to deny unwrap | |
| - name: Clippy of tests | |
| run: cargo clippy --tests --workspace ${{ matrix.flags }} --exclude nu_plugin_* -- -D warnings | |
| tests: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| platform: [macos-latest, ubuntu-20.04] | |
| feature: [default] | |
| include: | |
| - feature: default | |
| flags: "" | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Rust toolchain and cache | |
| uses: actions-rust-lang/setup-rust-toolchain@v1.5.0 | |
| with: | |
| rustflags: "" | |
| - name: Tests | |
| run: cargo test ${{ matrix.flags }} |