invisible-characters.yml•2.45 kB
name: Detect Invisible Characters in Changed Files
on:
pull_request:
permissions:
contents: read
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
changed_files:
name: Changed Files
runs-on: ubuntu-latest
outputs:
changed_files: ${{ steps.changed_files.outputs.all_changed_files }}
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Changed Files
id: changed_files
uses: ./.github/actions/changed_files
test_invisible_characters:
needs: changed_files
if: contains(needs.changed_files.outputs.changed_files, '.github/scripts/lint-invisible-characters')
name: Test Invisible Characters in Changed Files
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Test Invisible Characters
id: test_script
continue-on-error: true
run: |
python .github/scripts/lint-invisible-characters/lint-invisible-characters.py \
.github/scripts/lint-invisible-characters/lint-invisible-characters-test-file.md
- name: Check Test Result
# .conclusion on steps with continue-on-error: true will always be success
# so we use .outcome to check the exit code of the script
if: steps.test_script.outcome != 'failure'
run: |
echo "Test file check failed - script should have detected invisible characters and exited with status 1"
exit 1
invisible_characters:
needs: [changed_files, test_invisible_characters]
if: needs.changed_files.outputs.changed_files != ''
name: Detect Invisible Characters in Changed Files
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Detect invisible characters
run: |
python .github/scripts/lint-invisible-characters/lint-invisible-characters.py \
${{ needs.changed_files.outputs.changed_files }} \
--ignore .github/scripts/lint-invisible-characters