Skip to content

Commit a69790e

Browse files
committed
CI: Add release workflow
1 parent ad9a610 commit a69790e

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

.github/workflows/release.yml

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: release
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
release:
8+
types:
9+
- published
10+
workflow_dispatch:
11+
12+
jobs:
13+
14+
distribution:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
22+
- name: Setup Python
23+
uses: actions/setup-python@v5
24+
with:
25+
python-version: 3
26+
27+
- name: Upgrade pip
28+
run: python -m pip install -U pip
29+
30+
- name: Install build and twine
31+
run: python -m pip install -U build twine
32+
33+
- name: Build distribution
34+
run: python -m build --sdist
35+
36+
- name: Check source distribution
37+
run: python -m twine check dist/*.tar.gz
38+
39+
- name: Upload distribution assets
40+
uses: actions/upload-artifact@v4
41+
with:
42+
name: release
43+
path: |
44+
dist/*.tar.gz
45+
46+
47+
pypi-publish:
48+
49+
if: ${{ github.event_name == 'release' }}
50+
name: Upload release to PyPI
51+
runs-on: ubuntu-latest
52+
needs: distribution
53+
environment:
54+
name: pypi
55+
url: https://pypi.org/p/mpi4py-fft
56+
permissions:
57+
id-token: write
58+
59+
steps:
60+
61+
- name: Download distribution assets
62+
uses: actions/download-artifact@v4
63+
with:
64+
name: release
65+
path: dist
66+
67+
- name: Publish package distributions to PyPI
68+
uses: pypa/gh-action-pypi-publish@release/v1

0 commit comments

Comments
 (0)