-
Notifications
You must be signed in to change notification settings - Fork 0
69 lines (66 loc) · 2.07 KB
/
CICD.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
name: CICD
on:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Test
run: |
pip install pytest pytest-xprocess
pip install https://www.vtk.org/files/release/9.3/vtk_osmesa-9.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pip install -e .
pytest
build:
runs-on: ubuntu-latest
needs: test
if: github.ref == 'refs/heads/next' || github.ref == 'refs/heads/master'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.TOKEN }}
- name: Python Semantic Release
uses: python-semantic-release/python-semantic-release@master
id: semantic-release
with:
github_token: ${{ secrets.TOKEN }}
- name: Build
run: |
python3 -m pip install --upgrade build
python3 -m build
- name: Upload PYPI
if: steps.semantic-release.outputs.released == 'true'
run: |
python3 -m pip install twine
python3 -m twine upload --repository pypi dist/* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
- name: Setup NODE
uses: actions/setup-node@v3
with:
registry-url: "https://registry.npmjs.org"
node-version: "20.x"
- name: Upload NPM
if: steps.semantic-release.outputs.released == 'true'
run: |
pwd
cd ${{ github.workspace }}
npm i
npm run json
jq '.version="${{steps.semantic-release.outputs.version}}"' package.json > temp && mv temp package.json
cat package.json
npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Merge master -> next
if: github.ref == 'refs/heads/master'
uses: devmasx/merge-branch@master
with:
type: now
from_branch: master
target_branch: next
github_token: ${{ secrets.TOKEN }}