ci: backport GHA workflows
This commit is contained in:
parent
d6a220b70a
commit
8eedd82317
6 changed files with 376 additions and 0 deletions
84
.github/workflows/integration.yml
vendored
Normal file
84
.github/workflows/integration.yml
vendored
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
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 }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue