Skip to content
---
name: Additional Checks
# Checks which are not in standardized tools such as custom checks by scripts
# in the source code or small 3rd party checks without large projects behind them.
# Number of disconnected, but simple checks can be combined into one workflow
# (and job) to reduce the number of jobs.
on:
push:
branches:
- main
- releasebranch_*
pull_request:
branches:
- main
- releasebranch_*
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
additional-checks:
name: Additional checks
runs-on: ubuntu-22.04
steps:
- name: Checkout repository contents
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
fetch-depth: 31
- name: Check for CRLF endings
uses: erclu/check-crlf@v1
with:
# Ignore all test data, Windows-specific directories and scripts.
exclude: mswindows .*\.bat .*/testsuite/data/.*
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Check that files with the same content are the same
run: |
diff Dockerfile docker/ubuntu/Dockerfile
- name: Generate core modules with last commit JSON file and test it
run: |
python -m pip install pytest pytest-depends
python utils/generate_last_commit_file.py .
pytest utils/test_generate_last_commit_file.py
- name: Generate release notes using git log
run: |
python -m pip install PyYAML
# Git works without any special permissions.
# Using current branch or the branch against the PR is open.
# Using the last 30 commits (for branches, tags, and PRs).
# End is the current (latest) commit.
python ./utils/generate_release_notes.py log \
${{ github.ref_name }} \
$(git rev-parse HEAD~30) \
""