Gateway Release #40
This file contains hidden or 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: Gateway Release | |
| on: | |
| workflow_dispatch: | |
| env: | |
| DOCKER_REGISTRY: ghcr.io/wso2/api-platform | |
| jobs: | |
| release: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Determine version from VERSION file | |
| id: version | |
| run: | | |
| VERSION=$(make -C gateway version-get-release --no-print-directory) | |
| echo "Releasing gateway version: ${VERSION}" | |
| echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
| - name: Set version | |
| run: | | |
| VERSION=${{ steps.version.outputs.version }} | |
| make -C gateway version-set VERSION=${VERSION} | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.25.7' | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: linux/amd64,linux/arm64 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| install: true | |
| driver: docker-container | |
| - name: Run tests | |
| run: make test-gateway | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.API_PLATFORM_BOT_TOKEN }} | |
| - name: Build and push multi arch Docker images | |
| run: make build-and-push-gateway-multiarch | |
| - name: Create and push tag | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| if [ -n "$(git status --porcelain --untracked-files=no)" ]; then | |
| git commit -am "Release gateway version ${{ steps.version.outputs.version }}" | |
| fi | |
| git tag -a gateway/v${{ steps.version.outputs.version }} -m "Gateway ${{ steps.version.outputs.version }}" | |
| git tag -a ai-gateway/v${{ steps.version.outputs.version }} -m "AI Gateway ${{ steps.version.outputs.version }}" | |
| git push origin gateway/v${{ steps.version.outputs.version }} | |
| git push origin ai-gateway/v${{ steps.version.outputs.version }} | |
| - name: Bump to next dev version | |
| run: make -C gateway version-bump-next-dev | |
| - name: Commit version bump | |
| run: | | |
| if [ -n "$(git status --porcelain --untracked-files=no)" ]; then | |
| git commit -am "Bump gateway to next dev version" | |
| else | |
| echo "No changes to commit" | |
| fi | |
| - name: Create PR for version bump | |
| id: create-pr | |
| uses: peter-evans/create-pull-request@v6 | |
| with: | |
| commit-message: "Bump gateway to next dev version" | |
| title: "chore: Bump gateway to next dev version" | |
| body: | | |
| Automated version bump after release `gateway/v${{ steps.version.outputs.version }}` | |
| This PR bumps the gateway version to the next development version. | |
| branch: version-bump-${{ github.run_id }} | |
| base: main | |
| delete-branch: true | |
| assignees: renuka-fernando | |
| labels: | | |
| automated | |
| version-bump |