Use production-ready Dockerfile template for Go images #897
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: Generate CI config | |
on: | |
pull_request: | |
branches: | |
- '**' | |
push: | |
branches: | |
- 'main' | |
schedule: | |
- cron: "0 6 * * *" # Daily at 06:00. | |
workflow_dispatch: # Manual workflow trigger | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
generate-ci: | |
name: generate-ci | |
runs-on: ubuntu-latest | |
env: | |
GOPATH: ${{ github.workspace }} | |
steps: | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[backstage-plugins] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/backstage-plugins | |
repository: openshift-knative/backstage-plugins | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-hyperfoil-benchmark] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-hyperfoil-benchmark | |
repository: openshift-knative/eventing-hyperfoil-benchmark | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-istio] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-istio | |
repository: openshift-knative/eventing-istio | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-kafka-broker] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-kafka-broker | |
repository: openshift-knative/eventing-kafka-broker | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/eventing | |
repository: openshift-knative/eventing | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[serverless-operator] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/serverless-operator | |
repository: openshift-knative/serverless-operator | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[net-istio] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/net-istio | |
repository: openshift-knative/net-istio | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[net-kourier] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/net-kourier | |
repository: openshift-knative/net-kourier | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[serving] Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack/openshift-knative/serving | |
repository: openshift-knative/serving | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- name: Install prerequisites | |
env: | |
YQ_VERSION: 3.4.0 | |
run: | | |
sudo wget https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 -O /usr/bin/yq | |
sudo chmod +x /usr/bin/yq | |
sudo mv /usr/bin/yq /usr/local/bin/yq | |
- name: Checkout openshift-knative/hack | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/openshift-knative/hack | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: ./src/github.com/openshift-knative/hack/go.mod | |
- name: Install YAML2JSON | |
run: go install github.com/bronze1man/yaml2json@latest | |
- name: Convert configurations to JSON | |
working-directory: ./src/github.com/openshift-knative/hack | |
run: find config/*.yaml | xargs -I{} sh -c "yaml2json < {} > {}.json" | |
- name: Checkout openshift/release | |
if: ${{ github.event_name == 'pull_request' }} | |
uses: actions/checkout@v4 | |
with: | |
ref: 'master' | |
repository: 'openshift/release' | |
path: ./src/github.com/openshift-knative/hack/openshift/release | |
- name: Checkout openshift/release | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
uses: actions/checkout@v4 | |
with: | |
ref: 'master' | |
repository: 'openshift/release' | |
path: ./src/github.com/openshift-knative/hack/openshift/release | |
token: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
- name: Configure Git user | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "serverless-qe" | |
- name: Generate CI | |
working-directory: ./src/github.com/openshift-knative/hack | |
run: make generate-ci-no-clean ARGS=--branch=master | |
- name: Create Pull Request - openshift/release | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/release.git" | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/release.git" sync-serverless-ci:sync-serverless-ci -f | |
gh pr create --base master --head serverless-qe:sync-serverless-ci --fill-verbose || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift/release | |
- name: Create Pull Request - openshift-knative/hack | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/hack.git" | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/hack.git" sync-konflux/main:sync-konflux/main -f | |
gh pr create --base main --head serverless-qe:sync-konflux/main --title "[main] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
# Use the repository cloned by the prowgen tool | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/hack | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-istio - release-next] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/eventing-istio.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/eventing-istio.git" sync-konflux/release-next:sync-konflux/release-next -f | |
gh pr create --base main --head serverless-qe:sync-konflux/release-next --title "[main] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-istio | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-istio - release-v1.15] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/eventing-istio.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/eventing-istio.git" sync-konflux/release-v1.15:sync-konflux/release-v1.15 -f | |
gh pr create --base release-v1.15 --head serverless-qe:sync-konflux/release-v1.15 --title "[release-v1.15] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-istio | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-kafka-broker - release-next] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/eventing-kafka-broker.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/eventing-kafka-broker.git" sync-konflux/release-next:sync-konflux/release-next -f | |
gh pr create --base main --head serverless-qe:sync-konflux/release-next --title "[main] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-kafka-broker | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing-kafka-broker - release-v1.15] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/eventing-kafka-broker.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/eventing-kafka-broker.git" sync-konflux/release-v1.15:sync-konflux/release-v1.15 -f | |
gh pr create --base release-v1.15 --head serverless-qe:sync-konflux/release-v1.15 --title "[release-v1.15] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/eventing-kafka-broker | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing - release-next] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/eventing.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/eventing.git" sync-konflux/release-next:sync-konflux/release-next -f | |
gh pr create --base main --head serverless-qe:sync-konflux/release-next --title "[main] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/eventing | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[eventing - release-v1.15] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/eventing.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/eventing.git" sync-konflux/release-v1.15:sync-konflux/release-v1.15 -f | |
gh pr create --base release-v1.15 --head serverless-qe:sync-konflux/release-v1.15 --title "[release-v1.15] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/eventing | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[serverless-operator - main] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/serverless-operator.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/serverless-operator.git" sync-konflux/main:sync-konflux/main -f | |
gh pr create --base main --head serverless-qe:sync-konflux/main --title "[main] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/serverless-operator | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[net-istio - release-v1.15] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/net-istio.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/net-istio.git" sync-konflux/release-v1.15:sync-konflux/release-v1.15 -f | |
gh pr create --base release-v1.15 --head serverless-qe:sync-konflux/release-v1.15 --title "[release-v1.15] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/net-istio | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[net-kourier - release-v1.15] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/net-kourier.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/net-kourier.git" sync-konflux/release-v1.15:sync-konflux/release-v1.15 -f | |
gh pr create --base release-v1.15 --head serverless-qe:sync-konflux/release-v1.15 --title "[release-v1.15] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/net-kourier | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[serving - release-next] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/serving.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/serving.git" sync-konflux/release-next:sync-konflux/release-next -f | |
gh pr create --base main --head serverless-qe:sync-konflux/release-next --title "[main] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/serving | |
- env: | |
GH_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
GITHUB_TOKEN: ${{ secrets.SERVERLESS_QE_ROBOT }} | |
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && github.ref_name == 'main' }} | |
name: '[serving - release-v1.15] Create Konflux PR' | |
run: | | |
set -x | |
git remote add fork "https://github.com/serverless-qe/serving.git" || true # ignore: already exists errors | |
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/serving.git" sync-konflux/release-v1.15:sync-konflux/release-v1.15 -f | |
gh pr create --base release-v1.15 --head serverless-qe:sync-konflux/release-v1.15 --title "[release-v1.15] Add Konflux configurations" --body "Add Konflux components and pipelines" || true | |
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/serving |