Skip to content

Update release.yml

Update release.yml #5

Workflow file for this run

name: Release Pipeline
on:
push:
tags:
- 'v*.*.*' # Nur SemVer Tags (z. B. v1.0.0)
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.22
- name: Install dependencies
run: go mod tidy
- name: Build Binary
run: CGO_ENABLED=0 go build -ldflags '-extldflags "-static"' -o ./output/awsserver ./cmd/server
- name: Get build architecture
id: arch
run: echo "ARCH=$(uname -m)" >> $GITHUB_ENV
- name: Package Binary
run: |
mkdir -p release
ARCH=${{ env.ARCH }}
TAR_NAME="awsserver-linux-${ARCH}.tar.gz"
tar -czvf release/${TAR_NAME} -C ./output awsserver
echo "RELEASE_FILE=release/${TAR_NAME}" >> $GITHUB_ENV
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image with version tag
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ghcr.io/${{ github.repository_owner }}/awsserver:${{ github.ref_name }}