Skip to content

Merge pull request #166 from arran4/codex/update-tab-behavior-for-mod… #80

Merge pull request #166 from arran4/codex/update-tab-behavior-for-mod…

Merge pull request #166 from arran4/codex/update-tab-behavior-for-mod… #80

Workflow file for this run

name: goreleaser
on:
push:
tags:
- 'v*.*.*'
- 'v*.*.*-*'
permissions:
contents: write
packages: write
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Determine tag details
id: tag_info
run: |
TAG_NAME="${GITHUB_REF#refs/tags/}"
echo "tag=${TAG_NAME}" >> "$GITHUB_OUTPUT"
if [[ "$TAG_NAME" == *"-"* ]]; then
echo "pre_release=true" >> "$GITHUB_OUTPUT"
echo "LATEST_TAG=next" >> "$GITHUB_ENV"
else
echo "pre_release=false" >> "$GITHUB_OUTPUT"
echo "LATEST_TAG=latest" >> "$GITHUB_ENV"
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Env setup
run: |
sudo apt-get update
sudo apt-get install -y build-essential
- name: Test
run: go test ./...
- name: Build gobookmarks binary for Docker smoke test
run: go build -o gobookmarks ./cmd/gobookmarks
- name: Build Docker image (smoke test)
run: docker build --tag gobookmarks:test .
- name: Smoke test Docker image
run: docker run --rm gobookmarks:test version
- name: Clean up Docker smoke test artifacts
run: |
rm -f gobookmarks
docker image rm gobookmarks:test || true
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}