linutil/.github/workflows/bashisms.yml

46 lines
1.2 KiB
YAML
Raw Normal View History

2024-09-18 19:56:46 +01:00
name: Check for bashisms
on:
pull_request:
paths:
- core/tabs/**
2024-09-18 19:56:46 +01:00
merge_group:
workflow_dispatch:
jobs:
check-bashisms:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git fetch origin ${{ github.base_ref }}
- name: Get a list of changed script files
2024-09-22 18:37:01 +01:00
id: get_sh_files
run: |
sh_files=$(git diff --name-only origin/${{ github.base_ref }} HEAD core/tabs | grep '\.sh$' || true)
if [ -n "$sh_files" ]; then
echo "$sh_files" > changed_files
echo "changed=1" >> $GITHUB_OUTPUT
else
echo "changed=0" >> $GITHUB_OUTPUT
fi
2024-09-18 19:56:46 +01:00
- name: Install devscripts
if: steps.get_sh_files.outputs.changed == 1
2024-09-19 01:18:22 +01:00
run: sudo apt-get update && sudo apt-get install devscripts
2024-09-18 19:56:46 +01:00
- name: Check for bashisms
if: steps.get_sh_files.outputs.changed == 1
run: |
echo "Running for:\n$(cat changed_files)\n"
for file in $(cat changed_files); do
if [[ -f "$file" ]]; then
checkbashisms "$file"
fi
done
- name: Remove the created file
if: steps.get_sh_files.outputs.changed == 1
run: rm changed_files