Skip to content

Commit fb3a53f

Browse files
authored
CI: Update Release workflow for LocalStack Python SDK (#20)
1 parent 1ee4db3 commit fb3a53f

1 file changed

Lines changed: 31 additions & 56 deletions

File tree

.github/workflows/release.yml

Lines changed: 31 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ on:
1010
required: true
1111

1212
env:
13-
git_user_name: localstack[bot]
14-
git_user_email: localstack-bot@users.noreply.github.com
13+
GIT_AUTHOR_NAME: localstack[bot]
14+
GIT_AUTHOR_EMAIL: localstack-bot@users.noreply.github.com
15+
GIT_COMMITTER_NAME: localstack[bot]
16+
GIT_COMMITTER_EMAIL: localstack-bot@users.noreply.github.com
1517

1618
jobs:
17-
1819
test_python:
1920
runs-on: ubuntu-latest
2021
env:
21-
release: ${{ github.event_name == 'workflow_dispatch' && inputs.version || github.event.client_payload.version}}
22+
RELEASE_VERSION: ${{ github.event_name == 'workflow_dispatch' && inputs.version || github.event.client_payload.version}}
2223

2324
steps:
24-
- name: "Pull image"
25-
run: |
26-
docker pull localstack/localstack-pro:${{ env.release }}
25+
- name: "Pull Image (localstack/localstack:${{ env.RELEASE_VERSION }})"
26+
run: docker pull "localstack/localstack-pro:${RELEASE_VERSION}"
2727

2828
- name: "Checkout"
2929
uses: actions/checkout@v4
@@ -39,94 +39,69 @@ jobs:
3939
- name: "Install uv"
4040
uses: astral-sh/setup-uv@v3
4141

42-
- name: "Generate code from spec"
42+
- name: "Generate Code from Spec"
4343
run: |
4444
make clean-generated
45-
./bin/generate.sh ${{ env.release }}
45+
./bin/generate.sh ${RELEASE_VERSION}
4646
47-
- name: "Prepare git config"
48-
run: |
49-
git config user.name ${{ env.git_user_name }}
50-
git config user.email ${{ env.git_user_email }}
51-
52-
- name: "Commit changed code"
47+
- name: "Commit Changed Code"
5348
run: |
5449
# Code automatically generated goes into the packages directory.
5550
# As we generate code for the version to be released, we commit those changes.
5651
if git status --porcelain packages/ | grep -q '^'; then
5752
git add packages/
58-
git commit -m "Generate code for ${{ env.release }}"
53+
git commit -m "Generate code for ${RELEASE_VERSION}"
5954
6055
echo "Changes committed successfully"
6156
else
6257
echo "No changes detected after generating the code"
6358
fi
6459
65-
- name: "Install project"
66-
run: |
67-
make install-dev
60+
- name: "Install Project"
61+
run: make install-dev
6862

6963
- name: "Install LocalStack"
70-
run: |
71-
pip install localstack==${{ env.release }}
64+
run: pip install localstack==${RELEASE_VERSION}
7265

7366
- name: "Start Localstack"
7467
env:
7568
LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
7669
run: |
77-
source .venv/bin/activate
78-
DEBUG=1 DISABLE_EVENTS="1" IMAGE_NAME="localstack/localstack-pro:${{ env.release }}" localstack start -d
79-
localstack wait -t 120 || (python -m localstack.cli.main logs && false)
70+
source .venv/bin/activate
71+
DEBUG=1 DISABLE_EVENTS="1" IMAGE_NAME="localstack/localstack-pro:${RELEASE_VERSION}" localstack start -d
72+
localstack wait -t 120 || (python -m localstack.cli.main logs && false)
8073
8174
- name: "Run Python Tests"
8275
env:
8376
LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
84-
run: |
85-
make test
77+
run: make test
8678

8779
- name: "Stop Localstack"
8880
if: success() || failure()
8981
run: |
90-
source .venv/bin/activate
91-
localstack logs
92-
localstack stop
82+
source .venv/bin/activate
83+
localstack logs
84+
localstack stop
9385
94-
- name: "Install release helper"
86+
- name: "Create the Release Commit and Tag"
9587
run: |
96-
curl -o bin/release-helper.sh -L https://api.github.com/repos/localstack/localstack/contents/bin/release-helper.sh -H 'Accept: application/vnd.github.v3.raw'
97-
chmod +x bin/release-helper.sh
88+
git commit --allow-empty -m "Release: v${RELEASE_VERSION}"
89+
git tag -a "v${RELEASE_VERSION}" -m "Release: v${RELEASE_VERSION}"
9890
99-
- name: "Create the release commit and tag"
100-
run: |
101-
bin/release-helper.sh git-commit-release ${{ env.release }}
91+
- name: "Push the release commit and tag"
92+
run: git push --follow-tags
10293

103-
- name: "Publish release to pypi"
94+
- name: "Publish Release to PyPi"
10495
env:
10596
UV_PUBLISH_TOKEN: ${{ secrets.UV_PUBLISH_TOKEN }}
106-
run: |
107-
make install publish
97+
run: make publish
10898

109-
- name: "Push the release commit and tag"
110-
run: |
111-
git push --follow-tags
112-
113-
- name: "Create GitHub release"
99+
- name: "Create GitHub Release"
114100
env:
115101
GITHUB_TOKEN: ${{ secrets.LOCALSTACK_GITHUB_TOKEN }}
116-
run: gh release create "v${{ env.release }}" --generate-notes --draft
117-
118-
- name: "Commit and push next development version"
119-
run: |
120-
bin/release-helper.sh git-commit-increment
121-
git push
122-
123-
- name: "Publish development version to pypi"
124-
env:
125-
UV_PUBLISH_TOKEN: ${{ secrets.UV_PUBLISH_TOKEN }}
126-
run: |
127-
make install publish
102+
run: gh release create "v${RELEASE_VERSION}" --generate-notes
128103

129-
- name: "Show git modifications"
104+
- name: "Show Git Modifications"
130105
run: |
131106
git log --oneline -n 4
132107
git show HEAD~1

0 commit comments

Comments
 (0)