forked from NYANDEV/forgejo
328fbcb706
(cherry picked from commit 34513098e557b07c51f8b98e909137ed9d4e0598) (cherry picked from commit a87a48acfb2ba8e5d5379598bd7de83c7891732f) (cherry picked from commit 21db8f4950f2f3eab270b6c51932213a8a84ee0c) (cherry picked from commit eb0a7e5093e314271cfe889ab1cdc814663de682)
79 lines
2.8 KiB
YAML
79 lines
2.8 KiB
YAML
# SPDX-License-Identifier: MIT
|
|
#
|
|
# See also https://forgejo.org/docs/next/developer/RELEASE/#release-process
|
|
#
|
|
# https://codeberg.org/forgejo-experimental/forgejo
|
|
#
|
|
# Copies a release from codeberg.org/forgejo-integration to codeberg.org/forgejo-experimental
|
|
#
|
|
# ROLE: forgejo-experimental
|
|
# FORGEJO: https://codeberg.org
|
|
# FROM_OWNER: forgejo-integration
|
|
# TO_OWNER: forgejo-experimental
|
|
# DOER: forgejo-experimental-ci
|
|
# TOKEN: <generated from codeberg.org/forgejo-experimental-ci>
|
|
#
|
|
# https://forgejo.octopuce.forgejo.org/forgejo/forgejo
|
|
#
|
|
# Copies & sign a release from codeberg.org/forgejo-integration to codeberg.org/forgejo
|
|
#
|
|
# ROLE: forgejo-release
|
|
# FORGEJO: https://codeberg.org
|
|
# FROM_OWNER: forgejo-integration
|
|
# TO_OWNER: forgejo
|
|
# DOER: release-team
|
|
# TOKEN: <generated from codeberg.org/release-team>
|
|
# GPG_PRIVATE_KEY: <XYZ>
|
|
# GPG_PASSPHRASE: <ABC>
|
|
#
|
|
name: Pubish release
|
|
|
|
on:
|
|
push:
|
|
tags: 'v*'
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: self-hosted
|
|
if: secrets.DOER != '' && secrets.FORGEJO != '' && secrets.TO_OWNER != '' && secrets.FROM_OWNER != '' && secrets.TOKEN != ''
|
|
steps:
|
|
- name: install the certificate authority
|
|
if: secrets.ROLE == 'forgejo-release'
|
|
run: |
|
|
apt-get install -qq -y wget
|
|
wget --no-check-certificate -O /usr/local/share/ca-certificates/enough.crt https://forgejo.octopuce.forgejo.org/forgejo/enough/raw/branch/main/certs/2023-05-13/ca.crt
|
|
update-ca-certificates --fresh
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: copy & sign binaries and container images from one owner to another
|
|
uses: ./.forgejo/actions/publish-release
|
|
with:
|
|
forgejo: ${{ secrets.FORGEJO }}
|
|
from-owner: ${{ secrets.FROM_OWNER }}
|
|
to-owner: ${{ secrets.TO_OWNER }}
|
|
ref-name: ${{ github.ref_name }}
|
|
doer: ${{ secrets.DOER }}
|
|
token: ${{ secrets.TOKEN }}
|
|
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
|
|
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
|
verbose: ${{ secrets.VERBOSE }}
|
|
|
|
|
|
- name: set up go for the DNS update below
|
|
uses: https://code.forgejo.org/actions/setup-go@v4
|
|
if: secrets.ROLE == 'forgejo-experimental'
|
|
with:
|
|
go-version: ">=1.21"
|
|
check-latest: true
|
|
- name: update the _release.experimental DNS record
|
|
if: secrets.ROLE == 'forgejo-experimental'
|
|
uses: https://code.forgejo.org/actions/ovh-dns-update@v1
|
|
with:
|
|
subdomain: _release.experimental
|
|
domain: forgejo.com # there is a CNAME from .org to .com (for security reasons)
|
|
record-id: 5283602601
|
|
value: v=${{ github.ref_name }}
|
|
ovh-app-key: ${{ secrets.OVH_APP_KEY }}
|
|
ovh-app-secret: ${{ secrets.OVH_APP_SECRET }}
|
|
ovh-consumer-key: ${{ secrets.OVH_CON_KEY }}
|