38
38
token : ${{ secrets.GITHUB_TOKEN }}
39
39
# new release needs the updated version.py
40
40
- name : Update version.py
41
- id : update_version
42
41
run : |
43
42
VERSION=$(echo "${{ github.event.release.name }}" | grep -oP '\d+\.\d+\.\d+')
44
43
sed -i "s/^__version__ = .*/__version__ = \"$VERSION\"/" datajoint/version.py
@@ -68,31 +67,35 @@ jobs:
68
67
echo "DJ_SDIST_PATH=$(ls dist/datajoint-*.tar.gz)" >> $GITHUB_ENV
69
68
echo "NEW_VERSION=${{github.event.release.resolved_version}}" >> $GITHUB_ENV
70
69
- name : Publish package
70
+ id : publish
71
+ env :
72
+ RELEASE_NAME : ${{ github.event.release.name }}
71
73
run : |
72
- # TODO - if test pypi or not
73
74
export HOST_UID=$(id -u)
74
- if [ "$TESTPYPI " == "true" ]; then
75
+ if [[ "$RELEASE_NAME " =~ ^Test ] ]; then
75
76
LATEST_PYPI=$(curl -s https://test.pypi.org/pypi/datajoint/json | jq -r '.info.version')
77
+ echo "TEST_PYPI=true" >> $GITHUB_ENV
76
78
export TWINE_REPOSITORY="testpypi"
77
79
export TWINE_USERNAME=${TWINE_TEST_USERNAME}
78
80
export TWINE_PASSWORD=${TWINE_TEST_PASSWORD}
79
81
else
80
82
LATEST_PYPI=$(curl -s https://pypi.org/pypi/datajoint/json | jq -r '.info.version')
83
+ echo "TEST_PYPI=false" >> $GITHUB_ENV
81
84
export TWINE_REPOSITORY="pypi"
82
85
fi
83
86
# Check if the new version is different from the latest on PyPI, avoid re-uploading error
84
87
if [ "$NEW_VERSION" != "$LATEST_PYPI" ]; then
85
- docker compose run --build --quiet-pull \
86
- -e TWINE_USERNAME=${TWINE_USERNAME} \
87
- -e TWINE_PASSWORD=${TWINE_PASSWORD} \
88
- -e TWINE_REPOSITORY=${TWINE_REPOSITORY} \
89
- app sh -c "pip install twine && python -m twine upload dist/*"
88
+ # docker compose run --build --quiet-pull \
89
+ # -e TWINE_USERNAME=${TWINE_USERNAME} \
90
+ # -e TWINE_PASSWORD=${TWINE_PASSWORD} \
91
+ # -e TWINE_REPOSITORY=${TWINE_REPOSITORY} \
92
+ # app sh -c "pip install twine && python -m twine upload dist/*"
93
+ echo "Uploading to $TWINE_REPOSITORY"
90
94
else
91
95
echo "::warning::Latest version $LATEST_PYPI on $TWINE_REPOSITORY is the new version $NEW_VERSION"
92
96
fi
93
97
# Upload package as release assets
94
98
- name : Upload pip wheel asset to release
95
- if : ${{ github.event.inputs.testpypi == 'false' }}
96
99
uses : actions/upload-release-asset@v1
97
100
env :
98
101
GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
@@ -102,7 +105,6 @@ jobs:
102
105
asset_name : pip-datajoint-${{env.DJ_VERSION}}.whl
103
106
asset_content_type : application/zip
104
107
- name : Upload pip sdist asset to release
105
- if : ${{ github.event.inputs.testpypi == 'false' }}
106
108
uses : actions/upload-release-asset@v1
107
109
env :
108
110
GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
@@ -122,10 +124,8 @@ jobs:
122
124
--base master \
123
125
--head ${{ env.BRANCH_NAME }} \
124
126
--reviewer dimitri-yatsenko,yambottle,ttngu207
125
- slack-notification :
126
- runs-on : ubuntu-latest
127
- steps :
128
- - name : Post a message in a channel
127
+ - name : Post release notification to Slack
128
+ if : ${{ env.TEST_PYPI == 'false' }}
129
129
130
130
with :
131
131
webhook : ${{ secrets.SLACK_WEBHOOK_URL }}
0 commit comments