Merge pull request #2661 from danieleades/pyupgrade #3848
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: Pygments | |
on: | |
push: | |
branches: [master] | |
tags: ['*'] | |
pull_request: | |
env: | |
FORCE_COLOR: 1 | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, ubuntu-latest, macos-latest] | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
# Run macOS CI only when pushing tags, not on every push/PR. | |
# There seems not to be a prettier solution than this trick ... | |
exclude: | |
- os: ${{ !(github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')) && 'macos-latest' || 'dummy' }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install tox | |
run: pip install -r requirements.txt | |
- name: Test package | |
run: tox -- -W error | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install tox | |
run: pip install -r requirements.txt | |
- name: Perform basic checks | |
run: tox -e check | |
if: runner.os == 'Linux' | |
check-mapfiles: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install tox | |
run: pip install -r requirements.txt | |
- name: Regenerate mapfiles | |
run: tox -e mapfiles | |
- name: Fail if mapfiles changed | |
run: | | |
if git ls-files -m | grep mapping; then | |
echo 'Please run "tox -e mapfiles" and add the changes to a commit.' | |
exit 1 | |
fi | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install tox | |
run: pip install -r requirements.txt | |
- name: Run regexlint | |
run: tox -e regexlint |