Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/docker-retag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Update Docker Tags

on:
workflow_dispatch:
inputs:
source_version:
description: 'Source version to tag (e.g., v1.0.0)'
required: true
type: string
target_tag:
description: 'Target tag to apply'
required: true
type: choice
options:
- stable
- prerelease
- edge

jobs:
retag-docker:
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Create and push manifests with new tag
run: |
docker buildx imagetools create \
-t openaudio/go-openaudio:${{ inputs.target_tag }} \
openaudio/go-openaudio:${{ inputs.source_version }}

echo "Successfully updated openaudio/go-openaudio:${{ inputs.target_tag }} to point to ${{ inputs.source_version }}"


26 changes: 23 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@ name: Create Release
on:
workflow_dispatch:
inputs:
branch:
description: 'Source branch'
required: true
type: choice
options:
- main
- mainnet-alpha-beta
version:
description: 'Release version (e.g., v0.1.0)'
description: 'Release version (e.g., v1.0.0, v2.0.0-beta.1)'
required: true
type: string
release_notes:
Expand All @@ -22,6 +29,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}

- name: Create tag
run: |
Expand All @@ -30,14 +39,25 @@ jobs:
git tag -a ${{ inputs.version }} -m "Release ${{ inputs.version }}"
git push origin ${{ inputs.version }}

- name: Determine if prerelease
id: prerelease
run: |
# main branch releases are prereleases
# mainnet-alpha-beta releases are stable
if [[ "${{ inputs.branch }}" == "main" ]]; then
echo "is_prerelease=true" >> $GITHUB_OUTPUT
else
echo "is_prerelease=false" >> $GITHUB_OUTPUT
fi

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ inputs.version }}
name: ${{ inputs.version }}
body: ${{ inputs.release_notes }}
draft: false
prerelease: false
prerelease: ${{ steps.prerelease.outputs.is_prerelease }}
generate_release_notes: true

build-docker-amd64:
Expand Down Expand Up @@ -136,7 +156,6 @@ jobs:
- name: Create and push multi-platform manifest
run: |
docker buildx imagetools create -t openaudio/go-openaudio:${{ inputs.version }} \
-t openaudio/go-openaudio:latest \
openaudio/go-openaudio:${{ inputs.version }}-amd64 \
openaudio/go-openaudio:${{ inputs.version }}-arm64

Expand All @@ -146,3 +165,4 @@ jobs:
with:
label: ${{ inputs.version }}
secrets: inherit