1
0
Fork 0
mirror of https://github.com/external-secrets/external-secrets.git synced 2024-12-14 11:57:59 +00:00
external-secrets/.github/workflows/release.yml
Carlos Tadeu Panato Junior 332977caba
sign images using cosign (#845)
Signed-off-by: cpanato <ctadeu@gmail.com>
2022-03-19 21:07:50 +01:00

106 lines
2.8 KiB
YAML

name: Create Release
on:
workflow_dispatch:
inputs:
version:
description: 'version to release, e.g. v1.5.13'
required: true
default: 'v0.1.0'
env:
GHCR_USERNAME: ${{ secrets.GHCR_USERNAME }}
GO_VERSION: '1.17'
jobs:
release:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Create Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.inputs.version }}
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Build Changelog
id: build_changelog
uses: mikepenz/release-changelog-builder-action@v2
with:
configuration: "changelog.json"
toTag: ${{ github.event.inputs.version }}
commitMode: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: create changelog file
env:
VERSION: ${{ github.event.inputs.version }}
CHANGELOG: ${{ steps.build_changelog.outputs.changelog }}
run: |
echo "Image: \`ghcr.io/${GITHUB_REPOSITORY}:${VERSION}\`" >> .changelog
echo "${CHANGELOG}" >> .changelog
- name: Update Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.inputs.version }}
body_path: .changelog
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: Update Docs
run: make docs.publish DOCS_VERSION=${{ github.event.inputs.version }} DOCS_ALIAS=latest
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
promote:
name: Promote Container Image
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to Docker
uses: docker/login-action@v1
if: env.GHCR_USERNAME != ''
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USERNAME }}
password: ${{ secrets.GHCR_TOKEN }}
- name: Promote Container Image
if: env.GHCR_USERNAME != ''
run: make docker.promote
env:
RELEASE_TAG: ${{ github.event.inputs.version }}
SOURCE_TAG: main
- name: Set up crane
if: env.GHCR_USERNAME != ''
run: go install github.com/google/go-containerregistry/cmd/crane@v0.8.0
- name: Sign Container Image
if: env.GHCR_USERNAME != ''
run: make docker.sign
env:
RELEASE_TAG: ${{ github.event.inputs.version }}
SOURCE_TAG: main