-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/main' into layered-structure
- Loading branch information
Showing
139 changed files
with
3,858 additions
and
1,728 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
name: "Check If Manifests Change" | ||
|
||
env: | ||
PR_CACHE_KEY: pr-manifests-${{ github.run_id }}-${{ github.run_attempt }} | ||
MAIN_CACHE_KEY: main-manifests-${{ github.run_id }}-${{ github.run_attempt }} | ||
|
||
on: | ||
pull_request_target: | ||
|
||
jobs: | ||
create-pr-manifests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout PR branch | ||
uses: actions/checkout@v4 | ||
|
||
- name: Create manifests on PR branch | ||
run: | | ||
make dry-run-control-plane | ||
mkdir -p ./cache/pr | ||
mv ./dry-run/manifests.yaml ./cache/pr/manifests.yaml | ||
- name: Save PR manifests in cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./cache/pr/ | ||
key: ${{ env.PR_CACHE_KEY }} | ||
|
||
create-main-manifests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout main branch | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: main | ||
|
||
- name: Create manifests on main branch | ||
run: | | ||
make dry-run-control-plane | ||
mkdir -p ./cache/main | ||
mv ./dry-run/manifests.yaml ./cache/main/manifests.yaml | ||
- name: Save main manifests in cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./cache/main/ | ||
key: ${{ env.MAIN_CACHE_KEY }} | ||
|
||
diff-manifests: | ||
needs: | ||
- create-pr-manifests | ||
- create-main-manifests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Restore PR manifests from cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./cache/pr/ | ||
key: ${{ env.PR_CACHE_KEY }} | ||
|
||
- name: Restore main manifests from cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./cache/main/ | ||
key: ${{ env.MAIN_CACHE_KEY }} | ||
|
||
- name: Compare Manifests | ||
id: compare-manifests | ||
run: | | ||
set +e | ||
DIFF_OUTPUT=$(diff ./cache/pr/manifests.yaml ./cache/main/manifests.yaml) | ||
EXIT_CODE=$? | ||
if [[ $EXIT_CODE != 0 ]]; then | ||
echo "❌ Detected differences in manifest outputs!" | ||
echo "$DIFF_OUTPUT" | ||
echo "manifests_diff_detected=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "✅ No differences in manifest outputs detected." | ||
echo "manifests_diff_detected=false" >> $GITHUB_OUTPUT | ||
fi | ||
exit 0 | ||
- name: Add PR Comment if Manifest Differences Detected | ||
if: steps.compare-manifests.outputs.manifests_diff_detected == 'true' | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
github.rest.issues.createComment({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
body: "❌ **Manifests created with 'make dry-run-control-plane' changed!** Please make sure to check if changes are needed in related repositories like management-plane-charts, runtime-watchter, etc.." | ||
}); | ||
github.rest.issues.addLabels({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
labels: ["manifests-diff"] | ||
}); | ||
- name: Remove 'manifests-diff' Label if No Differences | ||
if: steps.compare-manifests.outputs.manifests_diff_detected == 'false' | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
const labelName = 'manifests-diff'; | ||
const { data: labels } = await github.rest.issues.listLabelsOnIssue({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
}); | ||
if (labels.some(label => label.name === labelName)) { | ||
console.log(`Label "${labelName}" found, removing it.`); | ||
await github.rest.issues.removeLabel({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
name: labelName, | ||
}); | ||
} else { | ||
console.log(`Label "${labelName}" not found, skipping removal.`); | ||
} | ||
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,87 @@ | ||
name: "Check Pipeline Changes" | ||
|
||
on: | ||
pull_request_target: | ||
|
||
jobs: | ||
check-pipeline-changes: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Get list of changed files | ||
id: changed-files | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
const { data: files } = await github.rest.pulls.listFiles({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
pull_number: context.payload.pull_request.number, | ||
}); | ||
// Define the pipeline-related paths to watch | ||
const pathsToCheck = [ | ||
".github/actions", | ||
".github/workflows/test-e2e.yml", | ||
".github/workflows/test-e2e-with-modulereleasemeta.yml", | ||
".github/scripts", | ||
"scripts/tests", | ||
"versions.yaml" | ||
]; | ||
const pipelineFiles = files.filter(file => | ||
pathsToCheck.some(path => file.filename === path || file.filename.startsWith(path + '/')) | ||
); | ||
core.setOutput('pipelineFiles', pipelineFiles.map(file => file.filename).join(',')); | ||
- name: Evaluate Pipeline Changes | ||
id: eval-changes | ||
run: | | ||
echo "Changed pipeline-related files:" | ||
echo "${{ steps.changed-files.outputs.pipelineFiles }}" | tr ',' '\n' | ||
if [ -n "${{ steps.changed-files.outputs.pipelineFiles }}" ]; then | ||
echo "⚠️ Pipeline-related changes detected!" | ||
echo "pipeline_changed=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "✅ No pipeline-related changes detected." | ||
echo "pipeline_changed=false" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Add PR Comment & Label if Pipeline Changes Detected | ||
if: steps.eval-changes.outputs.pipeline_changed == 'true' | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
github.rest.issues.createComment({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
body: "⚠️ **Pipeline-related file changes detected!** Please review if related updates (e.g. manifest generation or workflow adjustments) are required." | ||
}); | ||
github.rest.issues.addLabels({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
labels: ["pipeline-changed"] | ||
}); | ||
- name: Remove 'pipeline-changed' Label if No Changes Detected | ||
if: steps.eval-changes.outputs.pipeline_changed == 'false' | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
const labelName = 'pipeline-changed'; | ||
const { data: labels } = await github.rest.issues.listLabelsOnIssue({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
}); | ||
if (labels.some(label => label.name === labelName)) { | ||
console.log(`Label "${labelName}" found, removing it.`); | ||
await github.rest.issues.removeLabel({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: context.payload.pull_request.number, | ||
name: labelName, | ||
}); | ||
} else { | ||
console.log(`Label "${labelName}" not found, skipping removal.`); | ||
} |
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
Oops, something went wrong.