Manual Release #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Manual Release | |
on: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
release: | |
needs: [test] | |
runs-on: ubuntu-24.04 | |
outputs: | |
version: ${{ steps.release.outputs.release }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set release | |
id: semrel | |
uses: go-semantic-release/action@v1 | |
with: | |
github-token: ${{ secrets.MOMENTO_MACHINE_USER_GITHUB_TOKEN }} | |
allow-initial-development-versions: true | |
force-bump-patch-version: true | |
- name: Output release | |
id: release | |
run: echo "release=${{ steps.semrel.outputs.version }}" >> $GITHUB_OUTPUT | |
test: | |
runs-on: ubuntu-24.04 | |
permissions: | |
contents: read | |
pull-requests: read | |
env: | |
MOMENTO_API_KEY: ${{ secrets.ALPHA_TEST_AUTH_TOKEN }} | |
steps: | |
- name: Setup DynamoDB Local | |
uses: rrainn/[email protected] | |
with: | |
port: 8000 | |
cors: '*' | |
- name: Setup repo | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19.x | |
- name: Install devtools | |
run: make install-devtools | |
- name: Lint | |
run: make lint | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: latest | |
only-new-issues: true | |
skip-pkg-cache: true | |
# If there are any diffs from goimports or go mod tidy, fail. | |
- name: Verify no changes from goimports and go mod tidy | |
run: | | |
if [ -n "$(git status --porcelain)" ]; then | |
git diff | |
exit 1 | |
fi | |
- name: Build | |
run: make build | |
- name: Run test | |
run: make test | |
publish: | |
needs: [test, release] | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Setup repo | |
uses: actions/checkout@v3 | |
- name: Publish package | |
run: | | |
set -e | |
set -x | |
export MOMENTO_VERSION="${{needs.release.outputs.version}}" | |
if [ -z "$MOMENTO_VERSION"] | |
then | |
echo "Unable to determine version! Exiting!" | |
exit 1 | |
fi | |
echo "MOMENTO_VERSION=${MOMENTO_VERSION}" | |
GOPROXY=proxy.golang.org go list -m github.com/momentohq/go-aws-sdk-middlewares@v${MOMENTO_VERSION} | |
shell: bash |