Skip to content

[main] Add Konflux configurations #1348

[main] Add Konflux configurations

[main] Add Konflux configurations #1348

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: '[client] Clone repository'
uses: actions/checkout@v4
with:
path: ./src/github.com/openshift-knative/hack/openshift-knative/client
repository: openshift-knative/client
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: '[kn-plugin-func] Clone repository'
uses: actions/checkout@v4
with:
path: ./src/github.com/openshift-knative/hack/openshift-knative/kn-plugin-func
repository: openshift-knative/kn-plugin-func
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"
branch="sync-serverless-ci"
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/release.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/release.git" "$branch:$branch" -f
fi
gh pr create --base master --head "serverless-qe:$branch" --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"
branch="sync-konflux-main"
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/hack.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/hack.git" "$branch:$branch" -f
fi
gh pr create --base main --head "serverless-qe:$branch" --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: '[backstage-plugins - release-v1.15] Create Konflux PR'
run: |
set -x
repo="backstage-plugins"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] Add Konflux configurations" --body "Add Konflux components and pipelines" || true
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/backstage-plugins
- 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
repo="eventing-istio"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] 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-v1.15] Create Konflux PR'
run: |
set -x
repo="eventing-kafka-broker"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] 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-v1.15] Create Konflux PR'
run: |
set -x
repo="eventing"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] 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: '[kn-plugin-func - release-v1.15] Create Konflux PR'
run: |
set -x
repo="kn-plugin-func"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] Add Konflux configurations" --body "Add Konflux components and pipelines" || true
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/kn-plugin-func
- 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
repo="serverless-operator"
branch="sync-konflux-main"
target_branch="main"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] 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
repo="net-istio"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] 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
repo="net-kourier"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] 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-v1.15] Create Konflux PR'
run: |
set -x
repo="serving"
branch="sync-konflux-release-v1.15"
target_branch="release-v1.15"
git remote add fork "https://github.com/serverless-qe/$repo.git" || true # ignore: already exists errors
remote_exists=$(git ls-remote --heads fork "$branch")
if [ -z "$remote_exists" ]; then
# remote doesn't exist.
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f || exit 1
fi
git fetch fork "$branch"
if git diff --quiet "fork/$branch" "$branch"; then
echo "Branches are identical. No need to force push."
else
git push "https://serverless-qe:${GH_TOKEN}@github.com/serverless-qe/$repo.git" "$branch:$branch" -f
fi
gh pr create --base "$target_branch" --head "serverless-qe:$branch" --title "[$target_branch] Add Konflux configurations" --body "Add Konflux components and pipelines" || true
working-directory: ./src/github.com/openshift-knative/hack/openshift-knative/serving