touch: accept "modify" & "mtime" for --time arg #1926
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: FixPR | ||
# spell-checker:ignore Swatinem dtolnay | ||
# Trigger automated fixes for PRs being merged (with associated commits) | ||
env: | ||
BRANCH_TARGET: main | ||
on: | ||
# * only trigger on pull request closed to specific branches | ||
# ref: https:munity/t/trigger-workflow-only-on-pull-request-merge/17359/9 | ||
pull_request: | ||
branches: | ||
- main # == env.BRANCH_TARGET ## unfortunately, env context variables are only available in jobs/steps (see <https:munity/t/how-to-use-env-context/16975/2>) | ||
types: [ closed ] | ||
jobs: | ||
code_deps: | ||
# Refresh dependencies (ie, 'Cargo.lock') and show updated dependency tree | ||
if: github.event.pull_request.merged == true ## only for PR merges | ||
name: Update/dependencies | ||
runs-on: ${{ matrix.job.os }} | ||
strategy: | ||
matrix: | ||
job: | ||
- { os: ubuntu-latest , features: feat_os_unix } | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Initialize job variables | ||
id: vars | ||
shell: bash | ||
run: | | ||
## VARs setup | ||
outputs() { step_id="${{ github.action }}"; for var in "$@" ; do echo steps.${step_id}.outputs.${var}="${!var}"; echo "${var}=${!var}" >> $GITHUB_OUTPUT; done; } | ||
# surface MSRV from CICD workflow | ||
RUST_MIN_SRV=$(grep -P "^\s+RUST_MIN_SRV:" .github/workflows/CICD.yml | grep -Po "(?<=\x22)\d+[.]\d+(?:[.]\d+)?(?=\x22)" ) | ||
outputs RUST_MIN_SRV | ||
- uses: dtolnay/rust-toolchain@${{ steps.vars.outputs.RUST_MIN_SRV }} | ||
Check failure on line 39 in .github/workflows/FixPR.yml GitHub Actions / FixPRInvalid workflow file
|
||
- uses: Swatinem/rust-cache@v2 | ||
- name: Ensure updated 'Cargo.lock' | ||
shell: bash | ||
run: | | ||
# Ensure updated 'Cargo.lock' | ||
# * 'Cargo.lock' is required to be in a format that `cargo` of MinSRV can interpret (eg, v1-format for MinSRV < v1.38) | ||
cargo fetch --locked --quiet || cargo +${{ steps.vars.outputs.RUST_MIN_SRV }} update | ||
- name: Info | ||
shell: bash | ||
run: | | ||
# Info | ||
## environment | ||
echo "## environment" | ||
echo "CI='${CI}'" | ||
## tooling info display | ||
echo "## tooling" | ||
which gcc >/dev/null 2>&1 && (gcc --version | head -1) || true | ||
rustup -V 2>/dev/null | ||
rustup show active-toolchain | ||
cargo -V | ||
rustc -V | ||
cargo tree -V | ||
## dependencies | ||
echo "## dependency list" | ||
cargo fetch --locked --quiet | ||
## * using the 'stable' toolchain is necessary to avoid "unexpected '--filter-platform'" errors | ||
RUSTUP_TOOLCHAIN=stable cargo tree --locked --all --no-dev-dependencies --no-indent --features ${{ matrix.job.features }} | grep -vE "$PWD" | sort --unique | ||
- name: Commit any changes (to '${{ env.BRANCH_TARGET }}') | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
branch: ${{ env.BRANCH_TARGET }} | ||
default_author: github_actions | ||
message: "maint ~ refresh 'Cargo.lock'" | ||
add: Cargo.lock | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
code_format: | ||
# Recheck/refresh code formatting | ||
if: github.event.pull_request.merged == true ## only for PR merges | ||
name: Update/format | ||
runs-on: ${{ matrix.job.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
job: | ||
- { os: ubuntu-latest , features: feat_os_unix } | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Initialize job variables | ||
id: vars | ||
shell: bash | ||
run: | | ||
## VARs setup | ||
outputs() { step_id="${{ github.action }}"; for var in "$@" ; do echo steps.${step_id}.outputs.${var}="${!var}"; echo "${var}=${!var}" >> $GITHUB_OUTPUT; done; } | ||
# target-specific options | ||
# * CARGO_FEATURES_OPTION | ||
CARGO_FEATURES_OPTION='' ; | ||
if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi | ||
outputs CARGO_FEATURES_OPTION | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: stable | ||
components: rustfmt | ||
- uses: Swatinem/rust-cache@v2 | ||
- name: "`cargo fmt`" | ||
shell: bash | ||
run: | | ||
cargo fmt | ||
- name: "`cargo fmt` tests" | ||
shell: bash | ||
run: | | ||
# `cargo fmt` of tests | ||
find tests -name "*.rs" -print0 | xargs -0 cargo fmt -- | ||
- name: Commit any changes (to '${{ env.BRANCH_TARGET }}') | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
branch: ${{ env.BRANCH_TARGET }} | ||
default_author: github_actions | ||
message: "maint ~ rustfmt (`cargo fmt`)" | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |