Skip to content

Commit

Permalink
Merge pull request #31 from jonhoo/ci
Browse files Browse the repository at this point in the history
Sync with rust-ci-conf
  • Loading branch information
jonhoo authored Sep 18, 2022
2 parents d58fb0b + 7793e0a commit b63eadf
Show file tree
Hide file tree
Showing 11 changed files with 1,172 additions and 195 deletions.
107 changes: 107 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
on:
push:
branches: [main]
pull_request:
name: check
jobs:
fmt:
runs-on: ubuntu-latest
name: stable / fmt
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt
- name: cargo fmt --check
uses: actions-rs/cargo@v1
with:
command: fmt
args: --check
clippy:
runs-on: ubuntu-latest
name: ${{ matrix.toolchain }} / clippy
strategy:
fail-fast: false
matrix:
toolchain: [stable, beta]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install ${{ matrix.toolchain }}
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.toolchain }}
default: true
components: clippy
- name: cargo clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
doc:
runs-on: ubuntu-latest
name: nightly / doc
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install nightly
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
default: true
- name: cargo doc
uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps --all-features
env:
RUSTDOCFLAGS: --cfg docsrs
hack:
runs-on: ubuntu-latest
name: ubuntu / stable / features
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: cargo install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: cargo hack
uses: actions-rs/cargo@v1
with:
command: hack
args: --feature-powerset check --all-targets
msrv:
runs-on: ubuntu-latest
# we use a matrix here just because env can't be used in job names
# https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability
strategy:
matrix:
msrv: [1.57.0]
name: ubuntu / ${{ matrix.msrv }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install ${{ matrix.toolchain }}
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.msrv }}
default: true
- name: cargo +${{ matrix.msrv }} check
uses: actions-rs/cargo@v1
with:
command: check
34 changes: 0 additions & 34 deletions .github/workflows/coverage.yml

This file was deleted.

23 changes: 0 additions & 23 deletions .github/workflows/features.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/minimal.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/msrv.yml

This file was deleted.

24 changes: 0 additions & 24 deletions .github/workflows/os-check.yml

This file was deleted.

80 changes: 80 additions & 0 deletions .github/workflows/scheduled.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
on:
push:
branches: [main]
pull_request:
schedule:
- cron: '7 7 * * *'
name: cargo test (rolling)
jobs:
# https://twitter.com/mycoliza/status/1571295690063753218
nightly:
runs-on: ubuntu-latest
name: ubuntu / nightly
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install nightly
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
default: true
- name: cargo generate-lockfile
if: hashFiles('Cargo.lock') == ''
uses: actions-rs/cargo@v1
with:
command: generate-lockfile
- name: cargo test --locked
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all-features --all-targets
env: # set this explicitly so integration tests will run
FAKTORY_URL: tcp://127.0.0.1:7419
services:
faktory:
image: contribsys/faktory:latest
ports:
- 7419:7419
- 7420:7420
# https://twitter.com/alcuadrado/status/1571291687837732873
update:
runs-on: ubuntu-latest
name: ubuntu / beta / updated
# There's no point running this if no Cargo.lock was checked in in the
# first place, since we'd just redo what happened in the regular test job.
# Unfortunately, hashFiles only works in if on steps, so we reepeat it.
# if: hashFiles('Cargo.lock') != ''
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install beta
if: hashFiles('Cargo.lock') != ''
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: beta
default: true
- name: cargo update
if: hashFiles('Cargo.lock') != ''
uses: actions-rs/cargo@v1
with:
command: update
- name: cargo test
if: hashFiles('Cargo.lock') != ''
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all-features --all-targets
env:
# set this explicitly so integration tests will run
FAKTORY_URL: tcp://127.0.0.1:7419
RUSTFLAGS: -D deprecated
services:
faktory:
image: contribsys/faktory:latest
ports:
- 7419:7419
- 7420:7420
48 changes: 0 additions & 48 deletions .github/workflows/style.yml

This file was deleted.

Loading

0 comments on commit b63eadf

Please sign in to comment.