Skip to content

Commit bee2042

Browse files
ci: add pypi release ci script
1 parent 41ff768 commit bee2042

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/ci_publish.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: CI Publish
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
build:
9+
name: Build dist
10+
runs-on: ubuntu-24.04
11+
steps:
12+
- uses: actions/checkout@v6
13+
14+
- name: Install extra dependencies for a python install
15+
run: |
16+
sudo apt-get update
17+
sudo apt -y install --no-install-recommends liblzma-dev libbz2-dev libreadline-dev
18+
19+
- name: Install asdf cli
20+
uses: asdf-vm/actions/setup@v4
21+
22+
- name: Install software through asdf
23+
uses: asdf-vm/actions/install@v4
24+
25+
- name: reshim asdf
26+
run: asdf reshim
27+
28+
- name: ensure poetry using desired python version
29+
run: poetry env use $(asdf which python)
30+
31+
- name: build wheels
32+
run: make dist
33+
34+
- name: store wheels
35+
uses: actions/upload-artifact@v5
36+
with:
37+
name: dve-wheels
38+
path: dist/
39+
40+
publish-to-pypi:
41+
name: Publish to PyPi
42+
if: startsWith(github.ref, 'refs/tags/')
43+
needs:
44+
- build
45+
runs-on: ubuntu-24.04
46+
environment:
47+
name: pypi
48+
url: https://pypi.org/org/nhs/data-validation-engine
49+
permissions:
50+
id_token: write # IMPORTANT: mandatory for trusted publishing
51+
steps:
52+
- name: download dist
53+
uses: actions/download-artifact@v6
54+
with:
55+
name: dve-wheels
56+
path: dist/
57+
58+
- name: publish
59+
uses: pypa/gh-action-pypi-publish@release/v1

0 commit comments

Comments
 (0)