1
+ name : Publish Package
2
+
3
+ on :
4
+ push :
5
+ tags : ["v*.*.*"]
6
+ paths-ignore :
7
+ - ' **.md'
8
+
9
+ env :
10
+ ECR_REPOSITORY : ${{ vars.ECR_REPOSITORY }}
11
+ # EKS_NAMESPACE: ${{ vars.EKS_NAMESPACE_TEST }}
12
+ # AWS_DEFAULT_REGION: ${{ vars.AWS_REGION_TEST }}
13
+ # AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
14
+ # AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
15
+
16
+ permissions :
17
+ contents : read
18
+
19
+ jobs :
20
+ build :
21
+ runs-on : ubuntu-latest
22
+ environment : test
23
+ steps :
24
+ - name : Checkout repo
25
+ uses : actions/checkout@v3
26
+
27
+ - name : Set short SHA
28
+ run : echo "IMAGE_TAG=$(echo ${{ github.sha }} | cut -c 1-7)" >> $GITHUB_ENV
29
+
30
+ - name : Check for git tag version
31
+ id : get_tag
32
+ run : |
33
+ TAG=$(git describe --tags --exact-match 2> /dev/null || echo "")
34
+ if [[ -n "$TAG" ]]; then
35
+ echo "IMAGE_TAG=${TAG}" >> $GITHUB_ENV
36
+ fi
37
+
38
+ - name : Set up Python
39
+ uses : actions/setup-python@v2
40
+ with :
41
+ python-version : 3.x
42
+
43
+ - name : Run Version Verification
44
+ run : |
45
+ python -c "from config import CONFIG; import os; current_tag = os.getenv('IMAGE_TAG'); assert CONFIG.VERSION == current_tag, 'Version mismatch: Expected {} but got {}'.format(CONFIG.VERSION, current_tag); print('Version matched!')"
46
+
47
+
48
+ - name : Install Twine
49
+ run : |
50
+ python -m pip install --upgrade pip
51
+ pip install twine
52
+
53
+ - name : Build Package
54
+ run : python setup.py sdist bdist_wheel
55
+
56
+ - name : Publish Package
57
+ run : twine upload dist/*
58
+ env :
59
+ TWINE_USERNAME : ${{ secrets.PYPI_USERNAME }}
60
+ TWINE_PASSWORD : ${{ secrets.PYPI_PASSWORD }}
61
+
62
+ - name : Create Release
63
+ uses : actions/create-release@v1
64
+ env :
65
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
66
+ with :
67
+ tag_name : ${{ env.IMAGE_TAG }}
68
+ release_name : Release ${{ env.IMAGE_TAG }}
69
+ body : |
70
+ This is the release for version ${{ env.IMAGE_TAG }}.
71
+ draft : false
72
+ prerelease : false
0 commit comments