85 lines
3.3 KiB
YAML
85 lines
3.3 KiB
YAML
name: integration
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
integration-tests:
|
|
runs-on: ubuntu-latest
|
|
name: ${{ matrix.integration }}
|
|
strategy:
|
|
# https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions#usage-limits
|
|
# There's a limit of 60 concurrent jobs across all repos in the rust-lang organization.
|
|
# In order to prevent overusing too much of that 60 limit, we throttle the
|
|
# number of rustfmt jobs that will run concurrently.
|
|
max-parallel: 4
|
|
fail-fast: false
|
|
matrix:
|
|
integration: [
|
|
bitflags,
|
|
error-chain,
|
|
log,
|
|
mdbook,
|
|
packed_simd,
|
|
rust-semverver,
|
|
tempdir,
|
|
futures-rs,
|
|
rust-clippy,
|
|
failure,
|
|
]
|
|
include:
|
|
# Allowed Failures
|
|
# Actions doesn't yet support explicitly marking matrix legs as allowed failures
|
|
# https://github.community/t5/GitHub-Actions/continue-on-error-allow-failure-UI-indication/td-p/37033
|
|
# https://github.community/t5/GitHub-Actions/Why-a-matrix-step-will-be-canceled-if-another-one-failed/td-p/30920
|
|
# Instead, leverage `continue-on-error`
|
|
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error
|
|
#
|
|
# Failing due to breaking changes in rustfmt 2.0 where empty
|
|
# match blocks have trailing commas removed
|
|
# https://github.com/rust-lang/rustfmt/pull/4226
|
|
- integration: chalk
|
|
allow-failure: true
|
|
- integration: crater
|
|
allow-failure: true
|
|
- integration: glob
|
|
allow-failure: true
|
|
- integration: stdsimd
|
|
allow-failure: true
|
|
# Using old rustfmt configuration option
|
|
- integration: rand
|
|
allow-failure: true
|
|
# Keep this as an allowed failure as it's fragile to breaking changes of rustc.
|
|
- integration: rust-clippy
|
|
allow-failure: true
|
|
# Using old rustfmt configuration option
|
|
- integration: packed_simd
|
|
allow-failure: true
|
|
# calebcartwright (2019-12-24)
|
|
# Keeping this as an allowed failure since it was flagged as such in the TravisCI config, even though
|
|
# it appears to have been passing for quite some time.
|
|
# Original comment was: temporal build failure due to breaking changes in the nightly compiler
|
|
- integration: rust-semverver
|
|
allow-failure: true
|
|
# Can be moved back to include section after https://github.com/rust-lang-nursery/failure/pull/298 is merged
|
|
- integration: failure
|
|
allow-failure: true
|
|
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
|
|
# Run build
|
|
- name: setup
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: nightly-x86_64-unknown-linux-gnu
|
|
target: x86_64-unknown-linux-gnu
|
|
override: true
|
|
profile: minimal
|
|
default: true
|
|
- name: run integration tests
|
|
env:
|
|
INTEGRATION: ${{ matrix.integration }}
|
|
TARGET: x86_64-unknown-linux-gnu
|
|
run: ./ci/integration.sh
|
|
continue-on-error: ${{ matrix.allow-failure == true }}
|