Files
chromebrew/.github/workflows/Linter-Handoff.yml
Satadru Pramanik, DO, MPH, MEng eebbeb8419 Update procps — procps → 4.0.5 (#13042)
* Update procps

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* disable-pidwait for i686

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add conflicts_ok

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* gpm: Package File Update Run on linux/386 container.

* gpm: Package File Update Run on linux/amd64 container.

* gpm: Package File Update Run on linux/arm/v7 container.

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust workflow checkouts.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: chromebrew-actions[bot] <chromebrew-actions[bot]@users.noreply.github.com>
2025-10-04 06:01:44 +00:00

117 lines
3.3 KiB
YAML

---
name: Linter-Handoff
on:
pull_request:
types:
- opened
- ready_for_review
- reopened
- synchronize
merge_group:
workflow_dispatch:
workflow_run:
workflows: [Generate PR]
types:
- completed
env:
GH_TOKEN: ${{ secrets.CREW_PR_TOKEN }}
jobs:
debug:
if: ${{ ( github.repository_owner == 'chromebrew' ) }}
runs-on: ubuntu-24.04
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJson(job) }}
run: echo "$JOB_CONTEXT"
- name: Dump steps context
env:
STEPS_CONTEXT: ${{ toJson(steps) }}
run: echo "$STEPS_CONTEXT"
handoff:
runs-on: ubuntu-24.04
outputs:
category: ${{ steps.changed-file-extensions.outputs.category }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Update branch
if: ${{ !contains(github.ref_name, '/merge') }}
run: |
git fetch origin
git checkout "${{ github.ref_name }}"
git reset --hard "origin/${{ github.ref_name }}"
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v47
with:
since_last_remote_commit: true
- name: Get extensions of changed files
id: changed-file-extensions
run: |
category=
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
ext="${file##*.}"
case $ext in
md)
category+=" Markdown";;
rb)
category+=" Ruby";;
sh)
category+=" Bash";;
yml|yaml)
category+=" YAML";;
*)
echo "Unable to check syntax of $file.";;
esac
# In order for files such as bin/crew to be recognised
[[ "$(file -b $file | cut -d' ' -f1)" == "Ruby" ]] && category+=" Ruby"
done
echo "category=$category" >> $GITHUB_OUTPUT
# Github won't let us do this neatly, see https://github.com/orgs/community/discussions/25246
markdown:
needs: handoff
if: contains(needs.handoff.outputs.category, 'Markdown')
uses: ./.github/workflows/Markdown-lint.yml
secrets: inherit
ruby:
needs: handoff
if: contains(needs.handoff.outputs.category, 'Ruby')
uses: ./.github/workflows/Rubocop.yml
secrets: inherit
bash:
needs: handoff
if: contains(needs.handoff.outputs.category, 'Bash')
uses: ./.github/workflows/ShellCheck.yml
secrets: inherit
yaml:
needs: handoff
if: contains(needs.handoff.outputs.category, 'YAML')
uses: ./.github/workflows/YAMLlint.yml
secrets: inherit
action-yaml:
needs: handoff
if: contains(needs.handoff.outputs.category, 'YAML')
uses: ./.github/workflows/Actionlint.yml
secrets: inherit
linter-tests:
runs-on: ubuntu-24.04
needs:
- handoff
- markdown
- ruby
- bash
- yaml
- action-yaml
if: ${{ !cancelled() }}
steps:
- name: fail if linter jobs failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
- run: echo "Linter jobs succeeded"