diff options
Diffstat (limited to 'third_party/rust/minidump-writer/.github/workflows/ci.yml')
-rw-r--r-- | third_party/rust/minidump-writer/.github/workflows/ci.yml | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/third_party/rust/minidump-writer/.github/workflows/ci.yml b/third_party/rust/minidump-writer/.github/workflows/ci.yml new file mode 100644 index 0000000000..b007bd2370 --- /dev/null +++ b/third_party/rust/minidump-writer/.github/workflows/ci.yml @@ -0,0 +1,86 @@ +name: Continuous Integration + +on: + push: + branches: + - main + - github-actions + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt,clippy + - name: rustfmt + run: cargo fmt --all -- --check + - name: clippy + run: cargo clippy --all-features --all-targets -- -D warnings + + test: + name: Test + runs-on: ${{ matrix.job.os }} + strategy: + matrix: + job: + - { os: ubuntu-20.04 , target: x86_64-unknown-linux-gnu } + - { os: ubuntu-20.04, target: x86_64-unknown-linux-musl } + - { os: windows-2022, target: x86_64-pc-windows-msvc } + - { os: macos-12, target: x86_64-apple-darwin } + # TODO: Add macos aarch64 here once it becomes available as a runner + steps: + - uses: actions/checkout@v3 + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + target: ${{ matrix.job.target }} + - name: Fetch + run: cargo fetch --target ${{ matrix.job.target }} + - name: Build + run: cargo test --target ${{ matrix.job.target }} --no-run + - name: Test + run: cargo test --target ${{ matrix.job.target }} + + # This job builds non-tier1 targets that aren't already tested + build_lower_tier: + name: Build sources + runs-on: ${{ matrix.job.os }} + strategy: + matrix: + job: + - { os: ubuntu-latest, target: i686-unknown-linux-gnu, use-cross: true } + #- { os: ubuntu-latest, target: i686-unknown-linux-musl, use-cross: true } + - { os: ubuntu-latest, target: aarch64-unknown-linux-gnu, use-cross: true } + - { os: ubuntu-latest, target: aarch64-unknown-linux-musl, use-cross: true } + - { os: ubuntu-latest, target: aarch64-linux-android, use-cross: true } + - { os: ubuntu-latest, target: arm-unknown-linux-gnueabi, use-cross: true } + - { os: ubuntu-latest, target: arm-unknown-linux-musleabi, use-cross: true } + - { os: ubuntu-latest, target: arm-linux-androideabi, use-cross: true } + - { os: ubuntu-latest, target: arm-unknown-linux-gnueabihf, use-cross: true } + # TODO: Remove this when aarch64 macs can be used as runners + - { os: macos-latest, target: aarch64-apple-darwin, use-cross: false } + steps: + - uses: actions/checkout@v3 + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + target: ${{ matrix.job.target }} + #- name: Unit tests + - name: Build + uses: actions-rs/cargo@v1 + with: + #command: test + command: build + use-cross: ${{ matrix.job.use-cross }} + args: --target ${{ matrix.job.target }} --verbose --all-targets + #args: --target ${{ matrix.job.target }} --verbose -- --nocapture + |