Skip to content
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
2d6f7a4
refactor(ci): enhance query-planner CI workflow to check for engine c…
alepane21 Aug 25, 2025
9f21e86
chore(ci): include query-planner CI workflow in file change checks
alepane21 Aug 25, 2025
94bbf38
chore(ci): add checkout step to query-planner CI workflow
alepane21 Aug 25, 2025
88304fc
chore(ci): set working directory for engine changes check in query-pl…
alepane21 Aug 25, 2025
6214ac8
chore(ci): update working directory for engine changes check in query…
alepane21 Aug 25, 2025
e8c044a
chore(ci): update fetch depth in checkout step of query-planner CI wo…
alepane21 Aug 25, 2025
6ecb939
chore(deps): downgrade graphql-go-tools to v2.0.0-rc.213.0 to maintai…
alepane21 Aug 25, 2025
b43567c
chore(deps): update graphql-go-tools to v2.0.0-rc.220 for improved co…
alepane21 Aug 25, 2025
6639532
fix(ci): update checkout command in query-planner CI workflow to use …
alepane21 Aug 25, 2025
436a7e2
chore(ci): enhance query-planner CI workflow by setting fetch depth t…
alepane21 Aug 25, 2025
fdea26d
fix: default router version
alepane21 Aug 25, 2025
6506ae8
chore(ci): add logging for engine version changes in query-planner CI…
alepane21 Aug 25, 2025
55e814d
fix(ci): correct command to retrieve base go.mod file in query-planne…
alepane21 Aug 25, 2025
0d3aff8
fix(ci): update base go.mod file retrieval method in query-planner CI…
alepane21 Aug 25, 2025
16936c5
chore: use version
alepane21 Aug 25, 2025
a6cdc49
Merge branch 'main' into ale/eng-7605-force-query-plan-checks-everyti…
alepane21 Aug 26, 2025
f3371bc
Merge branch 'main' into ale/eng-7605-force-query-plan-checks-everyti…
alepane21 Sep 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 36 additions & 10 deletions .github/workflows/query-planner-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- 'router/**/*'
- 'connect/**/*'
- '.github/workflows/router-ci.yaml'
- '.github/workflows/query-planner-ci.yaml'
env:
CI: true
DO_NOT_TRACK: '1'
Expand All @@ -21,11 +22,21 @@ concurrency:
group: ${{github.workflow}}-${{github.head_ref}}
cancel-in-progress: true
jobs:
check-label:
check-label-and-engine-changes:
runs-on: ubuntu-latest
outputs:
has_label: ${{ steps.check_label.outputs.has_label }}
engine_changed: ${{ steps.check_engine_changes.outputs.engine_changed }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: router/go.mod
cache: true
- name: Check for query-planner label
id: check_label
uses: actions/github-script@v6
Expand All @@ -38,6 +49,21 @@ jobs:
});
const hasLabel = labels.data.some(label => label.name === 'query-planner');
core.setOutput('has_label', hasLabel ? 'true' : 'false');
- name: Check for changes of engine
id: check_engine_changes
working-directory: router
run: |
current_engine_version=$(go list -f '{{.Version}}' -m github.com/wundergraph/graphql-go-tools/v2)
git show ${{ github.event.pull_request.base.sha }}:router/go.mod > base.go.mod
previous_engine_version=$(go list -f '{{.Version}}' -modfile base.go.mod -m github.com/wundergraph/graphql-go-tools/v2)
if [ "$current_engine_version" != "$previous_engine_version" ]; then
echo "engine_changed=true" >> $GITHUB_OUTPUT
echo "Engine has been changed from $previous_engine_version to $current_engine_version"
else
echo "engine_changed=false" >> $GITHUB_OUTPUT
echo "Engine has not been changed"
fi

filter-changes:
runs-on: ubuntu-latest
outputs:
Expand Down Expand Up @@ -113,13 +139,13 @@ jobs:
build_test: # This job is use to lock the merge of the PR if anything fails in the query planner
runs-on: ubuntu-latest
if: ${{ always() }}
needs: [ build-router, build-cli, cli-release-url, check-label ]
needs: [ build-router, build-cli, cli-release-url, check-label-and-engine-changes ]
outputs:
workflow_url: ${{ steps.trigger_workflow.outputs.workflow_url }}
workflow_id: ${{ steps.trigger_workflow.outputs.workflow_id }}
steps:
- uses: convictional/trigger-workflow-and-wait@v1.6.5
if: ${{ needs.check-label.outputs.has_label == 'true' }}
if: ${{ needs.check-label-and-engine-changes.outputs.has_label == 'true' || needs.check-label-and-engine-changes.outputs.engine_changed == 'true' }}
id: trigger_workflow
name: Trigger Query Planner CI
with:
Expand All @@ -132,13 +158,13 @@ jobs:
client_payload: >-
{
"branch": "query-plan/pr-${{ github.event.pull_request.number }}",
"router": "${{ needs.build-router.outputs.image_ref || 'ghcr.io/wundergraph/router:latest' }}",
"router": "${{ needs.build-router.outputs.image_ref || 'ghcr.io/wundergraph/cosmo/router:latest' }}",
"wgc": "${{ needs.build-cli.outputs.wgc || needs.cli-release-url.outputs.wgc }}"
}
get_pr_url:
needs: [ build_test, check-label ]
needs: [ build_test, check-label-and-engine-changes ]
runs-on: ubuntu-latest
if: ${{ always() && needs.check-label.outputs.has_label == 'true' }}
if: ${{ always() && (needs.check-label-and-engine-changes.outputs.has_label == 'true' || needs.check-label-and-engine-changes.outputs.engine_changed == 'true') }}
outputs:
pullrequest_url: ${{ steps.get_url.outputs.pr_url }}
steps:
Expand Down Expand Up @@ -174,8 +200,8 @@ jobs:
pr_url=$(cat pr-url.txt)
echo "pr_url=$pr_url" >> $GITHUB_OUTPUT
comment-on-failure:
needs: [build_test, get_pr_url, check-label]
if: ${{ needs.check-label.outputs.has_label == 'true' && failure() }}
needs: [build_test, get_pr_url, check-label-and-engine-changes]
if: ${{ (needs.check-label-and-engine-changes.outputs.has_label == 'true' || needs.check-label-and-engine-changes.outputs.engine_changed == 'true') && failure() }}
runs-on: ubuntu-latest
steps:
- name: Comment PR on failure
Expand All @@ -193,8 +219,8 @@ jobs:
The Internal Query Planner CI checks failed in the celestial repository, and this is going to stop the merge of this PR.
If you are part of the WunderGraph organization, you can [see the PR with more details](${{ needs.get_pr_url.outputs.pullrequest_url }}).
comment-on-success:
needs: [build_test, get_pr_url, check-label]
if: ${{ needs.check-label.outputs.has_label == 'true' && success() }}
needs: [build_test, get_pr_url, check-label-and-engine-changes]
if: ${{ (needs.check-label-and-engine-changes.outputs.has_label == 'true' || needs.check-label-and-engine-changes.outputs.engine_changed == 'true') && success() }}
runs-on: ubuntu-latest
steps:
- name: Comment PR on failure
Expand Down
Loading