@@ -2,6 +2,7 @@ name: Continuous Integration
22
33on : [push, pull_request]
44
5+
56defaults :
67 run :
78 shell : bash
@@ -15,15 +16,15 @@ jobs:
1516 strategy :
1617 fail-fast : false
1718 matrix :
18- os : [ubuntu-20.04, macos-11 , windows-2019 ]
19- python-version : [ "3.7", "3.8", "3.9", "3.10", "3.11", "3.12.0 ", "pypy3.8", "pypy3.9", "pypy3.10", ]
19+ os : [ubuntu-20.04, ubuntu-22.04, macos-13 , windows-2022 ]
20+ python-version : [ "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy3.8", "pypy3.9", "pypy3.10", ]
2021 runs-on : ${{ matrix.os }}
2122 steps :
2223 - name : Check out repository
23- uses : actions/checkout@v3
24+ uses : actions/checkout@v4
2425 - name : Set up python
2526 id : setup-python
26- uses : actions/setup-python@v4
27+ uses : actions/setup-python@v5
2728 with :
2829 python-version : ${{ matrix.python-version }}
2930 - name : Print Python Information
@@ -35,11 +36,11 @@ jobs:
3536 pip3 install -U poetry setuptools
3637 poetry config virtualenvs.in-project true
3738 - name : Set up cache
38- uses : actions/cache@v3
39+ uses : actions/cache@v4
3940 id : cached-poetry-dependencies
4041 with :
4142 path : .venv
42- key : venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
43+ key : venv-${{ runner.os }}-${{ runner.arch }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
4344 - name : Install dependencies
4445 run : poetry install
4546 if : steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
@@ -50,55 +51,55 @@ jobs:
5051
5152 builder_pypandoc :
5253 needs : [test]
53- if : github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')
5454 runs-on : ubuntu-20.04 # Any OS is fine as this wheel is not OS dependent
5555 steps :
5656 - name : Check out repository
57- uses : actions/checkout@v3
57+ uses : actions/checkout@v4
5858 - name : Set up python
5959 id : setup-python
60- uses : actions/setup-python@v4
60+ uses : actions/setup-python@v5
6161 with :
6262 python-version : 3.9 # Build any 1 python version as this wheel is not version dependent
6363 - name : Update dependencies
6464 run : python -m pip install -U pip wheel setuptools
6565 - name : Build wheel
6666 run : python setup.py sdist bdist_wheel
6767 - name : Upload artifacts
68- uses : actions/upload-artifact@v3
68+ uses : actions/upload-artifact@v4
6969 with :
70- name : python-package -distributions
70+ name : pypandoc -distributions
7171 path : dist/
7272
7373 builder_pypandoc_binary :
7474 needs : [test]
75- if : github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')
7675 strategy :
7776 matrix :
78- # Ref: https://cibuildwheel.readthedocs.io/en/stable/options/#archs
79- # macos-11 - Creates macosx_x86_64
80- # windows-2019 - Creates {win_amd64,win32}
81- # ubuntu-20.04 - Creates {manylinux,musllinux}_{x86_64,i686}
82- # In CIBW_SKIP we skip 32bit linux
83- os : [macos-11, windows-2019, ubuntu-20.04]
77+ os : [macos-14, windows-2022, ubuntu-22.04]
8478 runs-on : ${{ matrix.os }}
8579 steps :
8680 - name : Check out repository
87- uses : actions/checkout@v3
81+ uses : actions/checkout@v4
82+ - name : Set up QEMU
83+ if : runner.os == 'Linux'
84+ uses : docker/setup-qemu-action@v3
85+ with :
86+ platforms : all
8887 - name : Remove pyproject and use setuptools
8988 run : rm pyproject.toml
9089 - name : Build binary Archive
91- uses : pypa/cibuildwheel@v2.9.0
90+ uses : pypa/cibuildwheel@v2.16.5
9291 env :
9392 CIBW_BEFORE_ALL : " python3 -m pip install setuptools && mv setup_binary.py setup.py && python3 setup.py download_pandoc"
9493 CIBW_BUILD : cp39-* # Build any 1 python version as this wheel is not version dependent
9594 # We skip some variants because:
9695 # - pandoc does not publish binaries for Linux 32bit
97- CIBW_SKIP : " *-{manylinux_i686,musllinux_i686}"
96+ CIBW_ARCHS_LINUX : " auto64 aarch64"
97+ CIBW_ARCHS_MACOS : " x86_64 arm64"
98+ CIBW_ARCHS_WINDOWS : " AMD64"
9899 - name : Upload artifacts
99- uses : actions/upload-artifact@v3
100+ uses : actions/upload-artifact@v4
100101 with :
101- name : python-package -distributions
102+ name : pypandoc-binary-${{ matrix.os }} -distributions
102103 path : wheelhouse/
103104
104105 publisher_release :
@@ -107,11 +108,10 @@ jobs:
107108 runs-on : ubuntu-latest
108109 steps :
109110 - name : Check out repository
110- uses : actions/checkout@v3
111+ uses : actions/checkout@v4
111112 - name : Download artifacts
112- uses : actions/download-artifact@v3
113+ uses : actions/download-artifact@v4
113114 with :
114- name : python-package-distributions
115115 path : dist/
116116 - name : Publish to PyPI
117117 uses : pypa/gh-action-pypi-publish@release/v1
@@ -126,11 +126,10 @@ jobs:
126126 runs-on : ubuntu-latest
127127 steps :
128128 - name : Check out repository
129- uses : actions/checkout@v3
129+ uses : actions/checkout@v4
130130 - name : Download artifacts
131- uses : actions/download-artifact@v3
131+ uses : actions/download-artifact@v4
132132 with :
133- name : python-package-distributions
134133 path : dist/
135134 - name : Make release
136135 uses : " marvinpinto/action-automatic-releases@v1.2.1"
0 commit comments