44 pull_request :
55 push :
66 tags :
7- - " v* "
7+ - v*
88 branches :
9- - main
9+ - main
1010
1111# disable concurrent runs
1212concurrency :
@@ -19,71 +19,71 @@ jobs:
1919 runs-on : ubuntu-latest
2020 name : Smoke Testing
2121 steps :
22- - uses : actions/checkout@v4
23-
24- - name : Set up Python
25- uses : actions/setup-python@v5
26- with :
27- python-version : " 3.10"
28-
29- - name : Install OS packages
30- run : |
31- sudo apt update
32- sudo apt install libgl1-mesa-glx
33-
34- - name : Build and validate wheel
35- run : |
36- pip install build twine
37- python -m build
38- twine check dist/*
39-
40- - name : Install
41- run : pip install dist/*.whl
42-
43- - name : Test
44- run : |
45- pip install -r requirements_test.txt
46- cd tests && python -m pytest -v
47-
48- - name : Upload sdist
49- uses : actions/upload-artifact@v4
50- with :
51- path : ./dist/*.tar.gz
52- name : fast-simplification-sdist
22+ - uses : actions/checkout@v4
23+
24+ - name : Set up Python
25+ uses : actions/setup-python@v5
26+ with :
27+ python-version : ' 3.10'
28+
29+ - name : Install OS packages
30+ run : |
31+ sudo apt update
32+ sudo apt install libgl1-mesa-glx
33+
34+ - name : Build and validate wheel
35+ run : |
36+ pip install build twine
37+ python -m build
38+ twine check dist/*
39+
40+ - name : Install
41+ run : pip install dist/*.whl
42+
43+ - name : Test
44+ run : |
45+ pip install -r requirements_test.txt
46+ cd tests && python -m pytest -v
47+
48+ - name : Upload sdist
49+ uses : actions/upload-artifact@v4
50+ with :
51+ path : ./dist/*.tar.gz
52+ name : fast-simplification-sdist
5353
5454 docs_build :
5555 name : Build Documentation
5656 runs-on : ubuntu-latest
5757 needs : smoke_testing
5858
5959 steps :
60- - uses : actions/checkout@v4
61-
62- - name : Setup Python
63- uses : actions/setup-python@v5
64- with :
65- python-version : " 3.10"
66-
67- - name : Install OS packages
68- run : |
69- sudo apt update
70- sudo apt install libgl1-mesa-glx xvfb
71-
72- - name : Install library
73- run : pip install .
74-
75- - name : Build Documentation
76- run : |
77- pip install -r requirements_docs.txt
78- xvfb-run make -C doc html
79-
80- - name : Deploy on tag
81- uses : JamesIves/github-pages-deploy-action@v4
82- if : startsWith(github.ref, 'refs/tags/')
83- with :
84- token : ${{ secrets.GITHUB_TOKEN }}
85- branch : gh-pages
86- folder : doc/_build/html
60+ - uses : actions/checkout@v4
61+
62+ - name : Setup Python
63+ uses : actions/setup-python@v5
64+ with :
65+ python-version : ' 3.10'
66+
67+ - name : Install OS packages
68+ run : |
69+ sudo apt update
70+ sudo apt install libgl1-mesa-glx xvfb
71+
72+ - name : Install library
73+ run : pip install .
74+
75+ - name : Build Documentation
76+ run : |
77+ pip install -r requirements_docs.txt
78+ xvfb-run make -C doc html
79+
80+ - name : Deploy on tag
81+ uses : JamesIves/github-pages-deploy-action@v4
82+ if : startsWith(github.ref, 'refs/tags/')
83+ with :
84+ token : ${{ secrets.GITHUB_TOKEN }}
85+ branch : gh-pages
86+ folder : doc/_build/html
8787
8888 build_wheels :
8989 needs : smoke_testing
@@ -92,21 +92,21 @@ jobs:
9292 strategy :
9393 fail-fast : false
9494 matrix :
95- os : [ubuntu-latest, windows-2019, macOS-latest ]
95+ os : [ubuntu-latest, windows-2019, macos-14, macos-13 ]
9696
9797 steps :
98- - uses : actions/checkout@v4
98+ - uses : actions/checkout@v4
9999
100- - name : Build wheels
101- uses : pypa/cibuildwheel@v2.16.5
100+ - name : Build wheels
101+ uses : pypa/cibuildwheel@v2.20.0
102102
103- - name : List generated wheels
104- run : ls ./wheelhouse/*
103+ - name : List generated wheels
104+ run : ls ./wheelhouse/*
105105
106- - uses : actions/upload-artifact@v4
107- with :
108- path : ./wheelhouse/*.whl
109- name : fast-simplification-wheel-${{ matrix.os }}
106+ - uses : actions/upload-artifact@v4
107+ with :
108+ path : ./wheelhouse/*.whl
109+ name : fast-simplification-wheel-${{ matrix.os }}
110110
111111 release :
112112 name : Release
@@ -118,18 +118,19 @@ jobs:
118118 url : https://pypi.org/p/fast-simplification
119119 permissions :
120120 id-token : write # this permission is mandatory for trusted publishing
121+ contents : write # required to create a release
121122 steps :
122- - uses : actions/download-artifact@v4
123- - name : Flatten directory structure
124- run : |
125- mkdir -p dist/
126- find . -name '*.whl' -exec mv {} dist/ \;
127- find . -name '*.tar.gz' -exec mv {} dist/ \;
128- - name : Publish package distributions to PyPI
129- uses : pypa/gh-action-pypi-publish@release/v1
130- - name : Create GitHub Release
131- uses : softprops/action-gh-release@v1
132- with :
133- generate_release_notes : true
134- files : |
135- ./**/*.whl
123+ - uses : actions/download-artifact@v4
124+ - name : Flatten directory structure
125+ run : |
126+ mkdir -p dist/
127+ find . -name '*.whl' -exec mv {} dist/ \;
128+ find . -name '*.tar.gz' -exec mv {} dist/ \;
129+ - name : Publish package distributions to PyPI
130+ uses : pypa/gh-action-pypi-publish@release/v1
131+ - name : Create GitHub Release
132+ uses : softprops/action-gh-release@v1
133+ with :
134+ generate_release_notes : true
135+ files : |
136+ ./**/*.whl
0 commit comments