-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: [proposal] de-matrix python-version in GHAs #27906
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
ff0e6e4
chore: [proposal] de-matrix python-version in GHAs
mistercrunch 915cbc1
rebased
mistercrunch 664bf85
re-introducing no-op momentarily - to be deleted
mistercrunch e217f31
setup-backend now supports 'current' and 'future'
mistercrunch 94542c1
bycatch, add GITHUB_TOKEN for docker builds
mistercrunch 4a15f8e
fix yaml
mistercrunch 5e43990
rename future to next
mistercrunch 3fd2839
run pytest on next version as well
mistercrunch 6bd7709
typo
mistercrunch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# no-op.yml | ||
mistercrunch marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# | ||
# Purpose: | ||
# This workflow provides a workaround for the "required status checks" feature in GitHub Actions | ||
# when using path-specific conditions in other workflows. Required checks might remain in a "Pending" | ||
# state if the conditions are not met, thus blocking pull requests from being merged. | ||
# This no-op (no operation) workflow provides dummy success statuses for these required jobs when | ||
# the real jobs do not run due to path-specific conditions. | ||
# | ||
# How it works: | ||
# - It defines jobs with the same names as the required jobs in the main workflows. | ||
# - These jobs simply execute a command (`exit 0`) to succeed immediately. | ||
# - When a pull request is created or updated, both this no-op workflow and the main workflows are triggered. | ||
# - If the main workflows' jobs don't run (due to path conditions), these no-op jobs provide successful statuses. | ||
# - If the main workflows' jobs do run and fail, their failure statuses take precedence, | ||
# ensuring that pull requests are not merged with failing checks. | ||
# | ||
# Usage: | ||
# - Ensure that the job names in this workflow match exactly the names of the corresponding jobs in the main workflows. | ||
# - This workflow should be kept as-is, without path-specific conditions. | ||
|
||
name: no-op Checks | ||
on: pull_request | ||
|
||
jobs: | ||
frontend-build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for frontend-build | ||
run: exit 0 | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are some inconsistent breaks between blocks if we want to get all OCD here. I wonder: would it be a problem to add ALL required checks here? If so, I wonder if we could ingest and iterate through the list from asf.yaml rather than having to maintain this. |
||
pre-commit: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for pre-commit | ||
run: exit 0 | ||
|
||
python-lint: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for python-lint | ||
run: exit 0 | ||
test-postgres-hive: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for frontend-build | ||
run: exit 0 | ||
test-postgres-presto: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for frontend-build | ||
run: exit 0 | ||
unit-tests: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for frontend-build | ||
run: exit 0 | ||
test-mysql: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for test-mysql | ||
run: exit 0 | ||
test-postgres: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10", "3.11"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for test-postgres | ||
run: exit 0 | ||
test-sqlite: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: No-op for test-sqlite | ||
run: exit 0 |
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
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem for this PR, but I'm thinking at some point we might want to keep our npm/node/python/whatever version numbers in a JSON file at the repo's root, so they can be pulled into scripts, documentation, etc. as needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OMG YES! But GHA doesn't play nicely with that kind of parameter injection. Composition through the "reusable action" approach that we have here is the best we can do with basic actions (calling a reusable action that hard-codes the values).
If we wanted more flexibility I'd suggest a Jinja2-based approach, where we'd have the source templates in say a
.github/jinja
folder, and render that into.github/
via a commit hook or similar. Seemed overkill for now, but I'd be supportive to move in that direction.Now comparing to where we were a few months back, we're at a much better place with this setup-backend and setup-supersetbot approach.