-
Notifications
You must be signed in to change notification settings - Fork 337
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci(github): update workflows to use ubuntu-24.04 runners (#12251)
GitHub is upgrading the `ubuntu-latest` runners to `ubuntu-24.04`. We need to make sure our CI still works as expected. I also suggest pinning the runner image version instead of using `ubuntu-latest`. <!-- > Changelog: skip --> <!-- Uncomment the above section to explicitly set a [`> Changelog:` entry here](https://github.com/kumahq/kuma/blob/master/CONTRIBUTING.md#submitting-a-patch)? --> Signed-off-by: Bart Smykla <[email protected]>
- Loading branch information
1 parent
1696ea1
commit 8b56d28
Showing
16 changed files
with
119 additions
and
18 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: Check CI stability for PRs with "ci/verify-stability" or "ci/verify-stability-merge-master" label | ||
|
||
on: | ||
schedule: | ||
# Monday to Friday: Every 2 hours from 7 PM to 7 AM CEST | ||
- cron: "0 17 * * 1-5" | ||
- cron: "0 19 * * 1-5" | ||
- cron: "0 21 * * 1-5" | ||
- cron: "0 23 * * 1-5" | ||
- cron: "0 1 * * 2-6" | ||
- cron: "0 3 * * 2-6" | ||
- cron: "0 5 * * 2-6" | ||
# Saturday and Sunday: Every 2 hours all day | ||
- cron: "0 */2 * * 6,0" | ||
workflow_dispatch: # Allows manual trigger from GitHub Actions UI | ||
env: | ||
GH_USER: "github-actions[bot]" | ||
GH_EMAIL: "<41898282+github-actions[bot]@users.noreply.github.com>" | ||
jobs: | ||
trigger-ci: | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- name: Generate GitHub app token | ||
id: github-app-token | ||
uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0 | ||
with: | ||
app-id: ${{ secrets.APP_ID }} | ||
private-key: ${{ secrets.APP_PRIVATE_KEY }} | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
token: ${{ steps.github-app-token.outputs.token }} | ||
- name: Get open pull requests and save to file | ||
run: | | ||
gh pr list --json number,labels > open_prs.json | ||
env: | ||
GITHUB_TOKEN: ${{ steps.github-app-token.outputs.token }} | ||
- name: Process PRs | ||
id: process_prs | ||
run: | | ||
cat open_prs.json | ||
pr_numbers_with_verify_stability=$(jq -r -c '.[] | select(.labels[]?.name == "ci/verify-stability") | .number' open_prs.json | tr '\n' ' ') | ||
pr_numbers_with_verify_stability_merge_master=$(jq -r '.[] | select(.labels[]?.name == "ci/verify-stability-merge-master") | .number' open_prs.json | tr '\n' ' ') | ||
echo "PRs with 'ci/verify-stability' label: $pr_numbers_with_verify_stability" | ||
echo "PRs with 'ci/verify-stability-merge-master' label: $pr_numbers_with_verify_stability_merge_master" | ||
echo "pr_numbers_with_verify_stability=$pr_numbers_with_verify_stability" >> $GITHUB_OUTPUT | ||
echo "pr_numbers_with_verify_stability_merge_master=$pr_numbers_with_verify_stability_merge_master" >> $GITHUB_OUTPUT | ||
env: | ||
GITHUB_TOKEN: ${{ steps.github-app-token.outputs.token }} | ||
- name: Merge master branch (if applicable) and push a single commit | ||
if: steps.process_prs.outputs.pr_numbers_with_verify_stability != '' | ||
run: | | ||
eval "pr_numbers=(${{ steps.process_prs.outputs.pr_numbers_with_verify_stability }})" | ||
for pr_number in $pr_numbers; do | ||
current_datetime=$(date +"%Y-%m-%d %H:%M:%S") | ||
echo "Processing PR #$pr_number" | ||
# Fetch PR details to get the base branch (original branch name) | ||
pr_branch=$(gh pr view $pr_number --json headRefName --jq '.headRefName') | ||
echo "The original branch for PR #$pr_number is $pr_branch" | ||
git fetch origin pull/$pr_number/head:$pr_branch | ||
git checkout $pr_branch | ||
git config user.name "${GH_USER}" | ||
git config user.email "${GH_EMAIL}" | ||
# Check if the PR needs to merge with master | ||
if echo "${{ steps.process_prs.outputs.pr_numbers_with_verify_stability_merge_master }}" | grep -wq "$pr_number"; then | ||
echo "Merging master into PR #$pr_number" | ||
git fetch origin master | ||
git merge origin/master --no-ff --no-commit | ||
git commit --allow-empty -m "Merge master into PR #$pr_number" | ||
fi | ||
# Commit an empty commit to trigger the CI | ||
echo "Pushing empty commit to trigger CI for PR #$pr_number on $current_datetime" | ||
git commit --allow-empty -m "Trigger CI for PR #$pr_number on $current_datetime" | ||
git push origin $pr_branch | ||
done | ||
env: | ||
GITHUB_TOKEN: ${{ steps.github-app-token.outputs.token }} |
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
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
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
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
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
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
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
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
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