ted/.forgejo/workflows/release.yaml
2025-11-12 22:12:55 +11:00

124 lines
3.7 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
jobs:
Build:
runs-on: docker
services:
localstack:
image: localstack/localstack
ports:
- "4566:4566"
env:
SERVICES: ssm,dynamodb
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: 1.25
- name: Configure
run: |
git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika"
- name: Test
run: |
set -xue
go get ./...
go test -p 1 ./...
env:
TEST_DYNAMO_URL: "http://localstack:4566"
GOPRIVATE: "github:com/lmika/*"
# Site:
# needs: Build
# runs-on: docker
# env:
# NETLIFY_SITE_ID: set me
# NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Setup Go
# uses: actions/setup-go@v3
# with:
# go-version: 1.24
# - uses: actions/setup-node@v4
# with:
# node-version: 21.1
# - name: Install Hugo
# run: |
# curl -LO https://github.com/gohugoio/hugo/releases/download/v0.146.0/hugo_extended_0.146.0_linux-amd64.deb
# apt install -y ./hugo_extended_0.146.0_linux-amd64.deb
# - name: Install Netlify CLI
# run: |
# npm install netlify-cli@15.0.1 -g
# - name: Build Site
# run: |
# cd _site
# mkdir -p themes
# git clone https://github.com/alex-shpak/hugo-book.git themes/hugo-book
# npm install
# hugo --minify
# - name: Publish Site
# run: |
# cd _site
# netlify deploy --dir docs --prod
'Release MacOS':
# needs: Build
runs-on: macos
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: 1.25
- name: Setup Dependencies
run: |
brew install gpg
- name: Configure
run: |
git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika"
- name: Setup Goreleaser
run: |
go install github.com/goreleaser/goreleaser/v2@v2.12.7
- name: Release
run: |
goreleaser release -f macos.goreleaser.yml --skip=validate --clean
env:
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TAP_PRIVATE_KEY: ${{ secrets.HOMEBREW_TAP_PRIVATE_KEY }}
MACOS_SIGN_P12: ${{ secrets.MACOS_SIGN_P12 }}
MACOS_SIGN_PASSWORD: ${{ secrets.MACOS_SIGN_PASSWORD }}
MACOS_NOTARY_KEY: ${{ secrets.MACOS_NOTARY_KEY }}
MACOS_NOTARY_KEY_ID: ${{ secrets.MACOS_NOTARY_KEY_ID }}
MACOS_NOTARY_ISSUER_ID: ${{ secrets.MACOS_NOTARY_ISSUER_ID }}
# release-linux:
# needs: build
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Setup Go
# uses: actions/setup-go@v3
# with:
# go-version: 1.22
# - name: Configure
# run: |
# git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika"
# - name: Release
# uses: goreleaser/goreleaser-action@v1
# if: startsWith(github.ref, 'refs/tags/')
# with:
# version: latest
# args: release -f linux.goreleaser.yml --skip=validate --clean
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# HOMEBREW_GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_TOKEN }}