Skip to content

Manual Release

Manual Release #4

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