Skip to content

Commit

Permalink
ci: Multiple updates (#75)
Browse files Browse the repository at this point in the history
- Enable support for mergue queues
   Filters non-required checks when run in the queue
- Drop the `hugr` branch mentioned in the unsoundness (miri) check
- Add a check for conventional commit PR titles
- Add a dependabot config, setting it to use a conventional commit title
  • Loading branch information
aborgna-q authored Sep 1, 2023
1 parent 9221885 commit 006d634
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 12 deletions.
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "cargo" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
commit-message:
# Use a conventional commit tag
prefix: "chore(deps)"
29 changes: 18 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ on:
pull_request:
branches:
- main
merge_group:
types: [checks_requested]
workflow_dispatch: {}

env:
Expand Down Expand Up @@ -38,6 +40,8 @@ jobs:
RUSTDOCFLAGS: "-Dwarnings"

benches:
# Not required, we can ignore it for the merge queue check.
if: github.event_name != 'merge_group'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -55,15 +59,19 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
include:
#- rust: 1.70.0 # Update once MSRV != stable
- rust: stable
cache: true
rust: ['1.70', stable, beta, nightly]
# workaround to ignore non-stable tests when running the merge queue checks
# see: https://github.community/t/how-to-conditionally-include-exclude-items-in-matrix-eg-based-on-branch/16853/6
isMerge:
- ${{ github.event_name == 'merge_group' }}
exclude:
- rust: '1.70'
isMerge: true
- rust: beta
cache: true
isMerge: true
- rust: nightly
cache: true

isMerge: true
name: tests (Rust ${{ matrix.rust }})
steps:
- uses: actions/checkout@v3
- id: toolchain
Expand All @@ -73,15 +81,14 @@ jobs:
- name: Configure default rust toolchain
run: rustup override set ${{steps.toolchain.outputs.name}}
- uses: Swatinem/rust-cache@v2
if: ${{ matrix.cache }}
with:
prefix-key: v0-rust-${{ matrix.rust }}
- name: Build with no features
run: cargo build --verbose --no-default-features
- name: Build with all (non c++) features
run: cargo build --verbose --features="$FEATURES"
run: cargo test --verbose --no-default-features --no-run
- name: Tests with no features
run: cargo test --verbose --no-default-features
- name: Build with all (non c++) features
run: cargo test --verbose --features="$FEATURES" --no-run
- name: Tests with all (non c++) features
run: cargo test --verbose --features="$FEATURES"
- name: Test pyo3 bindings
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/pr-title.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Check Conventional Commits format

on:
pull_request_target:
branches:
- main
types:
- opened
- edited
- synchronize
- labeled
- unlabeled
merge_group:
types: [checks_requested]

permissions:
pull-requests: read

jobs:
main:
name: Validate Conventional Commit PR title
runs-on: ubuntu-latest
# The action does not support running on merge_group events,
# but if the check succeeds in the PR there is no need to check it again.
if: github.event_name == 'pull_request_target'
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Configure which types are allowed (newline-delimited).
# Default: https://github.com/commitizen/conventional-commit-types
types: |
feat
fix
docs
style
refactor
perf
test
ci
chore
revert
# Configure which scopes are allowed (newline-delimited).
# These are regex patterns auto-wrapped in `^ $`.
#scopes: |
# .*
# Configure that a scope must always be provided.
requireScope: false
# Configure which scopes are disallowed in PR titles (newline-delimited).
# For instance by setting the value below, `chore(release): ...` (lowercase)
# and `ci(e2e,release): ...` (unknown scope) will be rejected.
# These are regex patterns auto-wrapped in `^ $`.
#disallowScopes: |
# release
# [A-Z]+
# Configure additional validation for the subject based on a regex.
# This example ensures the subject doesn't start with an uppercase character.
#subjectPattern: ^(?![A-Z]).+$
# If `subjectPattern` is configured, you can use this property to override
# the default error message that is shown when the pattern doesn't match.
# The variables `subject` and `title` can be used within the message.
#subjectPatternError: |
# The subject "{subject}" found in the pull request title "{title}"
# didn't match the configured pattern. Please ensure that the subject
# doesn't start with an uppercase character.
# If the PR contains one of these newline-delimited labels, the
# validation is skipped. If you want to rerun the validation when
# labels change, you might want to use the `labeled` and `unlabeled`
# event triggers in your workflow.
ignoreLabels: |
ignore-semantic-pull-request
1 change: 0 additions & 1 deletion .github/workflows/unsoundness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- main
- hugr
workflow_dispatch: {}

env:
Expand Down

0 comments on commit 006d634

Please sign in to comment.