refactor: Moved HTTP requests to within iframe #375
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Conventional Commit Message Check | |
on: | |
# This is a dangerous event trigger as it causes the workflow to run in the | |
# context of the target repository. | |
# Avoid checking out the head of the pull request or building code from the | |
# pull request whenever this trigger is used. | |
# Since we only label pull requests, do not have a checkout step in this | |
# workflow, and restrict permissions on the token, this is an acceptable | |
# use of this trigger. | |
pull_request_target: | |
types: | |
- opened | |
- edited | |
- reopened | |
- ready_for_review | |
- synchronize | |
merge_group: | |
types: | |
- checks_requested | |
permissions: | |
# Reference: https://github.com/cli/cli/issues/6274 | |
repository-projects: read | |
pull-requests: write | |
env: | |
# Allow more retries for network requests in cargo (downloading crates) and | |
# rustup (installing toolchains). This should help to reduce flaky CI failures | |
# from transient network timeouts or other issues. | |
CARGO_NET_RETRY: 10 | |
RUSTUP_MAX_RETRIES: 10 | |
# Use cargo's sparse index protocol | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
jobs: | |
pr_title_check: | |
name: Verify PR title follows conventional commit standards | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable 2 weeks ago | |
- uses: baptiste0928/[email protected] | |
with: | |
crate: cocogitto | |
- name: Verify PR title follows conventional commit standards | |
id: pr_title_check | |
if: ${{ github.event_name == 'pull_request_target' }} | |
shell: bash | |
env: | |
TITLE: ${{ github.event.pull_request.title }} | |
continue-on-error: true | |
run: cog verify "$TITLE" | |
- name: Verify commit message follows conventional commit standards | |
id: commit_message_check | |
if: ${{ github.event_name == 'merge_group' }} | |
shell: bash | |
# Fail on error, we don't have context about PR information to update labels | |
continue-on-error: false | |
run: cog verify '${{ github.event.merge_group.head_commit.message }}' | |
# GitHub CLI returns a successful error code even if the PR has the label already attached | |
- name: Attach 'S-conventions-not-followed' label if PR title check failed | |
if: ${{ github.event_name == 'pull_request_target' && steps.pr_title_check.outcome == 'failure' }} | |
shell: bash | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
gh --repo ${{ github.event.repository.full_name }} pr edit --add-label 'S-conventions-not-followed' ${{ github.event.pull_request.number }} | |
echo "::error::PR title does not follow conventional commit standards" | |
exit 1 | |
# GitHub CLI returns a successful error code even if the PR does not have the label attached | |
- name: Remove 'S-conventions-not-followed' label if PR title check succeeded | |
if: ${{ github.event_name == 'pull_request_target' && steps.pr_title_check.outcome == 'success' }} | |
shell: bash | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: gh --repo ${{ github.event.repository.full_name }} pr edit --remove-label 'S-conventions-not-followed' ${{ github.event.pull_request.number }} |