1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-10-30 23:58:09 +02:00

build: release nightly every Thursday (#4211)

closes #3501
This commit is contained in:
Carlos Alexandro Becker
2023-08-02 23:17:03 -03:00
committed by GitHub
parent 1d17b311e3
commit 204d14ae64
3 changed files with 96 additions and 16 deletions

69
.github/workflows/nightly.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
name: release
on:
workflow_dispatch:
schedule:
- cron: 0 0 * * 4
permissions:
contents: write
id-token: write
packages: write
jobs:
goreleaser:
runs-on: ubuntu-latest
env:
DOCKER_CLI_EXPERIMENTAL: "enabled"
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
with:
fetch-depth: 0
- uses: arduino/setup-task@e26d8975574116b0097a1161e0fe16ba75d84c1c # v1
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2
- uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # v2
- name: setup-snapcraft
# FIXME: the mkdirs are a hack for https://github.com/goreleaser/goreleaser/issues/1715
run: |
sudo apt-get update
sudo apt-get -yq --no-install-suggests --no-install-recommends install snapcraft
mkdir -p $HOME/.cache/snapcraft/download
mkdir -p $HOME/.cache/snapcraft/stage-packages
- uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4
with:
go-version: stable
- uses: sigstore/cosign-installer@v3.1.1
- uses: anchore/sbom-action/download-syft@v0.14.3
- uses: crazy-max/ghaction-upx@v2
with:
install-only: true
- uses: cachix/install-nix-action@v22
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: dockerhub-login
if: startsWith(github.ref, 'refs/tags/v')
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: ghcr-login
if: startsWith(github.ref, 'refs/tags/v')
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: snapcraft-login
if: startsWith(github.ref, 'refs/tags/v')
run: snapcraft login --with <(echo "${{ secrets.SNAPCRAFT_LOGIN }}")
- uses: goreleaser/goreleaser-action@v4
with:
distribution: goreleaser-pro
version: nightly
args: release --clean --nightly -f .goreleaser-nightly.yaml
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}

11
.goreleaser-nightly.yaml Normal file
View File

@@ -0,0 +1,11 @@
# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json
# vim: set ts=2 sw=2 tw=0 fo=jcroql
nightly:
publish_release: true
keep_single_release: true
name_template: "{{ incminor .Version }}-nightly"
includes:
- from_file:
path: ./.goreleaser.yaml

View File

@@ -90,8 +90,8 @@ changelog:
dockers:
- image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-amd64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
dockerfile: Dockerfile
use: buildx
build_flag_templates:
@@ -110,8 +110,8 @@ dockers:
extra_files:
- scripts/entrypoint.sh
- image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-arm64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
dockerfile: Dockerfile
use: buildx
build_flag_templates:
@@ -132,22 +132,22 @@ dockers:
- scripts/entrypoint.sh
docker_manifests:
- name_template: "goreleaser/goreleaser:{{ .Tag }}"
- name_template: "goreleaser/goreleaser:v{{ .Version }}"
image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-amd64"
- "goreleaser/goreleaser:{{ .Tag }}-arm64"
- name_template: "ghcr.io/goreleaser/goreleaser:{{ .Tag }}"
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template: "ghcr.io/goreleaser/goreleaser:v{{ .Version }}"
image_templates:
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
- name_template: "goreleaser/goreleaser:latest"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template: "{{ if not .IsNightly }}goreleaser/goreleaser:latest{{ end }}"
image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-amd64"
- "goreleaser/goreleaser:{{ .Tag }}-arm64"
- name_template: "ghcr.io/goreleaser/goreleaser:latest"
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template: "{{ if not .IsNightly }}ghcr.io/goreleaser/goreleaser:latest{{ end }}"
image_templates:
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
archives:
- name_template: >-