Added required fields and updated examples #53
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "*" | |
jobs: | |
version: | |
name: Version | |
runs-on: ubuntu-latest | |
outputs: | |
buid_date: ${{ steps.version.outputs.buid_date }} | |
version: ${{ steps.version.outputs.version }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Fetch tags | |
run: git fetch --force --tags | |
- name: Get Version | |
id: version | |
run: | | |
VERSION=sha-${GITHUB_SHA::8} | |
if [[ $GITHUB_REF == refs/tags/* ]]; then | |
VERSION=${GITHUB_REF/refs\/tags\//} | |
fi | |
echo ::set-output name=buid_date::$(date -u +'%Y-%m-%dT%H:%M:%SZ') | |
echo ::set-output name=version::${VERSION} | |
check-diff: | |
name: Check diff | |
runs-on: ubuntu-latest | |
needs: version | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate bundle | |
run: make bundle | |
env: | |
VERSION: "${{ needs.version.outputs.version }}" | |
- name: Check diff | |
uses: mmontes11/[email protected] | |
with: | |
message: Bundle is not up to date with the version '${{ needs.version.outputs.version }}'. Run 'make bundle' and commit the changes. | |
operator: | |
name: Operator | |
runs-on: ubuntu-latest | |
needs: | |
- version | |
- check-diff | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Fetch tags | |
run: git fetch --force --tags | |
- name: Setup QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
id: buildx | |
- name: Login to container Registry | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GHA_TOKEN }} | |
registry: ghcr.io | |
- name: Sync chart | |
run: make sync-chart | |
env: | |
VERSION: "${{ needs.version.outputs.version }}" | |
- name: Publish operator image | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
builder: ${{ steps.buildx.outputs.name }} | |
context: . | |
file: ./Dockerfile | |
platforms: linux/arm64,linux/amd64 | |
tags: | | |
ghcr.io/${{ github.repository_owner }}/mariadb-operator-helm:${{ needs.version.outputs.version }} | |
ghcr.io/${{ github.repository_owner }}/mariadb-operator-helm:latest | |
labels: | | |
org.opencontainers.image.title=${{ github.event.repository.name }} | |
org.opencontainers.image.description=${{ github.event.repository.description }} | |
org.opencontainers.image.source=${{ github.event.repository.html_url }} | |
org.opencontainers.image.url=${{ github.event.repository.html_url }} | |
org.opencontainers.image.revision=${{ github.sha }} | |
org.opencontainers.image.version=${{ needs.version.outputs.version }} | |
org.opencontainers.image.created=${{ needs.version.outputs.build_date }} | |
bundle: | |
name: Bundle | |
runs-on: ubuntu-latest | |
needs: | |
- version | |
- check-diff | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Fetch tags | |
run: git fetch --force --tags | |
- name: Setup QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
id: buildx | |
- name: Login to container Registry | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GHA_TOKEN }} | |
registry: ghcr.io | |
- name: Publish operator image | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
builder: ${{ steps.buildx.outputs.name }} | |
context: . | |
file: ./bundle.Dockerfile | |
platforms: linux/arm64,linux/amd64 | |
tags: | | |
ghcr.io/${{ github.repository_owner }}/mariadb-operator-helm-bundle:${{ needs.version.outputs.version }} | |
ghcr.io/${{ github.repository_owner }}/mariadb-operator-helm-bundle:latest | |
labels: | | |
org.opencontainers.image.title=${{ github.event.repository.name }} | |
org.opencontainers.image.description=${{ github.event.repository.description }} | |
org.opencontainers.image.source=${{ github.event.repository.html_url }} | |
org.opencontainers.image.url=${{ github.event.repository.html_url }} | |
org.opencontainers.image.revision=${{ github.sha }} | |
org.opencontainers.image.version=${{ needs.version.outputs.version }} | |
org.opencontainers.image.created=${{ needs.version.outputs.build_date }} | |
sync-repos: | |
name: Sync repos | |
runs-on: ubuntu-latest | |
needs: | |
- version | |
- check-diff | |
- bundle | |
- operator | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Checkout community-operators | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
repository: "mariadb-operator/community-operators" | |
path: "community-operators" | |
token: "${{ secrets.GHA_TOKEN }}" | |
- name: Checkout community-operators-prod | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
repository: "mariadb-operator/community-operators-prod" | |
path: "community-operators-prod" | |
token: "${{ secrets.GHA_TOKEN }}" | |
- name: Sync repos | |
run: make sync-upstream-repos | |
env: | |
VERSION: "${{ needs.version.outputs.version }}" | |
GITHUB_TOKEN: "${{ secrets.GHA_TOKEN }}" |