Skip to content

Commit

Permalink
[bot] update konflux configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
openshift-pipelines-bot authored and vdemeester committed Nov 26, 2024
1 parent 16027a4 commit e80f854
Show file tree
Hide file tree
Showing 29 changed files with 1,305 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/auto-merge.main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: auto-merge-main

on:
workflow_dispatch: {}
schedule:
- cron: "*/30 * * * *" # At every 30 minutes

jobs:
auto-approve:
runs-on: ubuntu-latest
if: github.repository_owner == 'openshift-pipelines' # do not run this elsewhere
permissions:
pull-requests: write
steps:
- name: Checkout the current repo
uses: actions/checkout@v4
- name: auto-merge-update-references
run: |
gh auth status
git config user.name openshift-pipelines-bot
git config user.email [email protected]
# Approve and merge pull-request with no reviews
for p in $(gh pr list --search "author:app/red-hat-konflux head:konflux/references/main" --json "number" | jq ".[].number"); do
gh pr merge --rebase --delete-branch --auto $p
done
env:
GH_TOKEN: ${{ secrets.OPENSHIFT_PIPELINES_ROBOT }}
- name: auto-merge-upstream-main
run: |
gh auth status
git config user.name openshift-pipelines-bot
git config user.email [email protected]
# Approve and merge pull-request with no reviews
for p in $(gh pr list --search "head:actions/update/sources-main" --json "number" | jq ".[].number"); do
gh pr merge --rebase --delete-branch --auto $p
done
env:
GH_TOKEN: ${{ secrets.OPENSHIFT_PIPELINES_ROBOT }}

39 changes: 39 additions & 0 deletions .github/workflows/auto-merge.next.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: auto-merge-next

on:
workflow_dispatch: {}
schedule:
- cron: "*/30 * * * *" # At every 30 minutes

jobs:
auto-approve:
runs-on: ubuntu-latest
if: github.repository_owner == 'openshift-pipelines' # do not run this elsewhere
permissions:
pull-requests: write
steps:
- name: Checkout the current repo
uses: actions/checkout@v4
- name: auto-merge-update-references
run: |
gh auth status
git config user.name openshift-pipelines-bot
git config user.email [email protected]
# Approve and merge pull-request with no reviews
for p in $(gh pr list --search "author:app/red-hat-konflux head:konflux/references/next" --json "number" | jq ".[].number"); do
gh pr merge --rebase --delete-branch --auto $p
done
env:
GH_TOKEN: ${{ secrets.OPENSHIFT_PIPELINES_ROBOT }}
- name: auto-merge-upstream-next
run: |
gh auth status
git config user.name openshift-pipelines-bot
git config user.email [email protected]
# Approve and merge pull-request with no reviews
for p in $(gh pr list --search "head:actions/update/sources-next" --json "number" | jq ".[].number"); do
gh pr merge --rebase --delete-branch --auto $p
done
env:
GH_TOKEN: ${{ secrets.OPENSHIFT_PIPELINES_ROBOT }}

73 changes: 73 additions & 0 deletions .github/workflows/update-sources.main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
name: update-sources-main

on:
workflow_dispatch: {}
schedule:
- cron: "30 */12 * * *" # At minute 30 past every 12th hour.

jobs:

update-sources:
runs-on: ubuntu-latest
if: github.repository_owner == 'openshift-pipelines' # do not run this elsewhere
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout the current repo
uses: actions/checkout@v4
with:
ref: main

- name: Clone openshift-pipelines/pipelines-as-code
run: |
rm -fR upstream
git clone https://github.com/openshift-pipelines/pipelines-as-code upstream
pushd upstream
git checkout -B main origin/main
popd
- name: Commit new changes
run: |
git config user.name openshift-pipelines-bot
git config user.email [email protected]
git checkout -b actions/update/sources-main
pushd upstream
OLD_COMMIT=$(cat ../head)
NEW_COMMIT=$(git rev-parse HEAD)
echo Previous commit: ${OLD_COMMIT}
git show --stat ${OLD_COMMIT}
echo New commit: ${NEW_COMMIT}
git show --stat ${NEW_COMMIT}
git diff --stat ${NEW_COMMIT}..${OLD_COMMIT} > /tmp/diff.txt
git rev-parse HEAD > ../head
popd
rm -rf upstream/.git
git add upstream head .konflux
if [[ -z $(git status --porcelain --untracked-files=no) ]]; then
echo "No change, exiting"
exit 0
fi
git commit -F- <<EOF
[bot] Update from openshift-pipelines/pipelines-as-code to ${NEW_COMMIT}
$ git diff --stat ${NEW_COMMIT}..${OLD_COMMIT}
$(cat /tmp/diff.txt | sed 's/^/ /')
https://github.com/openshift-pipelines/pipelines-as-code/compare/${NEW_COMMIT}..${OLD_COMMIT}
EOF
git push -f origin actions/update/sources-main
if [ "$(gh pr list --base main --head actions/update/sources-main --json url --jq 'length')" = "0" ]; then
echo "creating PR..."
gh pr create -B main -H actions/update/sources-main --label=automated --label=upstream --fill
else
echo "a PR already exists, editing..."
gh pr edit --title "[bot] Update from openshift-pipelines/pipelines-as-code to ${NEW_COMMIT}" --body "$(cat /tmp/diff.txt | sed 's/^/ /')"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73 changes: 73 additions & 0 deletions .github/workflows/update-sources.next.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
name: update-sources-next

on:
workflow_dispatch: {}
schedule:
- cron: "30 */12 * * *" # At minute 30 past every 12th hour.

jobs:

update-sources:
runs-on: ubuntu-latest
if: github.repository_owner == 'openshift-pipelines' # do not run this elsewhere
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout the current repo
uses: actions/checkout@v4
with:
ref: next

- name: Clone openshift-pipelines/pipelines-as-code
run: |
rm -fR upstream
git clone https://github.com/openshift-pipelines/pipelines-as-code upstream
pushd upstream
git checkout -B release-v0.29.x origin/release-v0.29.x
popd
- name: Commit new changes
run: |
git config user.name openshift-pipelines-bot
git config user.email [email protected]
git checkout -b actions/update/sources-next
pushd upstream
OLD_COMMIT=$(cat ../head)
NEW_COMMIT=$(git rev-parse HEAD)
echo Previous commit: ${OLD_COMMIT}
git show --stat ${OLD_COMMIT}
echo New commit: ${NEW_COMMIT}
git show --stat ${NEW_COMMIT}
git diff --stat ${NEW_COMMIT}..${OLD_COMMIT} > /tmp/diff.txt
git rev-parse HEAD > ../head
popd
rm -rf upstream/.git
git add upstream head .konflux
if [[ -z $(git status --porcelain --untracked-files=no) ]]; then
echo "No change, exiting"
exit 0
fi
git commit -F- <<EOF
[bot] Update from openshift-pipelines/pipelines-as-code to ${NEW_COMMIT}
$ git diff --stat ${NEW_COMMIT}..${OLD_COMMIT}
$(cat /tmp/diff.txt | sed 's/^/ /')
https://github.com/openshift-pipelines/pipelines-as-code/compare/${NEW_COMMIT}..${OLD_COMMIT}
EOF
git push -f origin actions/update/sources-next
if [ "$(gh pr list --base next --head actions/update/sources-next --json url --jq 'length')" = "0" ]; then
echo "creating PR..."
gh pr create -B next -H actions/update/sources-next --label=automated --label=upstream --fill
else
echo "a PR already exists, editing..."
gh pr edit --title "[bot] Update from openshift-pipelines/pipelines-as-code to ${NEW_COMMIT}" --body "$(cat /tmp/diff.txt | sed 's/^/ /')"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8 changes: 8 additions & 0 deletions .konflux/main/application.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: Application
metadata:
name: pac-downstream-main
spec:
displayName: pac-downstream main
18 changes: 18 additions & 0 deletions .konflux/main/component-controller.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: Component
metadata:
annotations:
build.appstudio.openshift.io/pipeline: '{"name":"docker-build-multi-platform-oci-ta","bundle":"latest"}'
name: pac-downstream-main-controller
spec:
componentName: controller
application: pac-downstream-main
build-nudges-ref:
- operator-main-bundle
source:
git:
url: https://github.com/openshift-pipelines/pac-downstream
dockerfileUrl: .konflux/dockerfiles/controller.Dockerfile
revision: main
18 changes: 18 additions & 0 deletions .konflux/main/component-watcher.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: Component
metadata:
annotations:
build.appstudio.openshift.io/pipeline: '{"name":"docker-build-multi-platform-oci-ta","bundle":"latest"}'
name: pac-downstream-main-watcher
spec:
componentName: watcher
application: pac-downstream-main
build-nudges-ref:
- operator-main-bundle
source:
git:
url: https://github.com/openshift-pipelines/pac-downstream
dockerfileUrl: .konflux/dockerfiles/watcher.Dockerfile
revision: main
18 changes: 18 additions & 0 deletions .konflux/main/component-webhook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: Component
metadata:
annotations:
build.appstudio.openshift.io/pipeline: '{"name":"docker-build-multi-platform-oci-ta","bundle":"latest"}'
name: pac-downstream-main-webhook
spec:
componentName: webhook
application: pac-downstream-main
build-nudges-ref:
- operator-main-bundle
source:
git:
url: https://github.com/openshift-pipelines/pac-downstream
dockerfileUrl: .konflux/dockerfiles/webhook.Dockerfile
revision: main
15 changes: 15 additions & 0 deletions .konflux/main/image-controller.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: ImageRepository
metadata:
name: pac-downstream-main-controller
annotations:
image-controller.appstudio.redhat.com/update-component-image: "true"
labels:
appstudio.redhat.com/component: pac-downstream-main-controller
appstudio.redhat.com/application: pac-downstream-main
spec:
image:
name: pac-downstream-main/controller
visibility: public
15 changes: 15 additions & 0 deletions .konflux/main/image-watcher.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: ImageRepository
metadata:
name: pac-downstream-main-watcher
annotations:
image-controller.appstudio.redhat.com/update-component-image: "true"
labels:
appstudio.redhat.com/component: pac-downstream-main-watcher
appstudio.redhat.com/application: pac-downstream-main
spec:
image:
name: pac-downstream-main/watcher
visibility: public
15 changes: 15 additions & 0 deletions .konflux/main/image-webhook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1alpha1
kind: ImageRepository
metadata:
name: pac-downstream-main-webhook
annotations:
image-controller.appstudio.redhat.com/update-component-image: "true"
labels:
appstudio.redhat.com/component: pac-downstream-main-webhook
appstudio.redhat.com/application: pac-downstream-main
spec:
image:
name: pac-downstream-main/webhook
visibility: public
25 changes: 25 additions & 0 deletions .konflux/main/tests-on-push.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1beta2
kind: IntegrationTestScenario
metadata:
name: pac-downstream-main-enterprise-contract-push
spec:
application: pac-downstream-main
contexts:
- description: Application testing
name: push
params:
- name: POLICY_CONFIGURATION
value: tekton-ecosystem-tenant/tekton-ecosystem-tenant-containers
- name: TIMEOUT
value: "15m0s"
resolverRef:
params:
- name: url
value: "https://github.com/konflux-ci/build-definitions"
- name: revision
value: main
- name: pathInRepo
value: pipelines/enterprise-contract.yaml
resolver: git
25 changes: 25 additions & 0 deletions .konflux/main/tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Generated by openshift-pipelines/hack. DO NOT EDIT.
---
apiVersion: appstudio.redhat.com/v1beta2
kind: IntegrationTestScenario
metadata:
name: pac-downstream-main-enterprise-contract-group
spec:
application: pac-downstream-main
contexts:
- description: Application testing
name: group
params:
- name: POLICY_CONFIGURATION
value: tekton-ecosystem-tenant/tekton-ecosystem-tenant-containers
- name: TIMEOUT
value: "15m0s"
resolverRef:
params:
- name: url
value: "https://github.com/konflux-ci/build-definitions"
- name: revision
value: main
- name: pathInRepo
value: pipelines/enterprise-contract.yaml
resolver: git
Loading

0 comments on commit e80f854

Please sign in to comment.