Skip to content

Diff Check

Diff Check #21

Workflow file for this run

name: Diff Check
on:
workflow_dispatch:
inputs:
clone_url:
description: 'Git url of a rustfmt fork to compare against the latest rustfmt'
required: true
branch_name:
description: 'Name of the feature branch on the forked repo'
required: true
language_edition:
description: 'Rust language `edition` used to parse code'
required: true
default: 2015
type: choice
options:
- 2015
- 2018
- 2021
- 2024
style_edition:
description: 'rustfmt `style_edition` used when formatting code.'
required: true
default: 2021
type: choice
options:
- 2021 # 2015, 2018, and 2021 are all formatted the same since `style_edition` was added between 2021 and 2024
- 2024
commit_hash:
description: 'Optional commit hash from the feature branch'
required: false
rustfmt_configs:
description: 'Optional comma separated list of rustfmt config options to pass when running the feature branch'
required: false
jobs:
diff_check:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Build check_diff binary
working-directory: ./check_diff
run: cargo build --release
- name: Run Diff Check
working-directory: ./check_diff
env:
CHECK_DIFF_LOG: info
shell: bash
run: |
OPTIONS=""
if [[ -n "${{ github.event.inputs.commit_hash }}" ]]; then
OPTIONS+="--commit-hash ${{ github.event.inputs.commit_hash }} "
fi
if [[ -n "${{ github.event.inputs.rustfmt_configs }}" ]]; then
OPTIONS+="--rustfmt-config ${{ github.event.inputs.rustfmt_configs }} "
fi
target/release/check_diff ${{ github.event.inputs.clone_url }} ${{ github.event.inputs.branch_name }} \
--edition ${{ github.event.inputs.language_edition }} \
--style-edition ${{ github.event.inputs.style_edition }} \
$OPTIONS