summaryrefslogtreecommitdiffstats
path: root/.github/workflows/build.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yaml')
-rw-r--r--.github/workflows/build.yaml72
1 files changed, 72 insertions, 0 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..2d26dfb
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,72 @@
+name: Pygments
+
+on: [push, pull_request]
+
+permissions:
+ contents: read # to fetch code (actions/checkout)
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, windows-latest]
+ python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
+ exclude:
+ - os: ubuntu-latest
+ python-version: "3.6"
+ include:
+ - os: ubuntu-20.04
+ python-version: "3.6"
+ max-parallel: 4
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python-version }}
+ cache: 'pip'
+ - name: Install package
+ run: |
+ pip install -r requirements.txt
+ pip install .
+ - name: Test package
+ run: pytest -W error
+
+ check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ - name: Run make check
+ run: make check
+ - name: Fail if the basic checks failed
+ run: make check
+ if: runner.os == 'Linux'
+
+ check-mapfiles:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ - name: Regenerate mapfiles
+ run: make mapfiles
+ - name: Fail if mapfiles changed
+ run: |
+ if git ls-files -m | grep mapping; then
+ echo 'Please run "make mapfiles" and add the changes to a commit.'
+ exit 1
+ fi
+
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: 3.8
+ - name: Check out regexlint
+ run: git clone https://github.com/pygments/regexlint
+ - name: Run regexlint
+ run: make regexlint REGEXLINT=`pwd`/regexlint