Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Convertdoc.yml workflow to be reusable#103914

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

webknjaz
Copy link
Contributor

This patch is meant to simplify the maintenance of multiple complex workflow definitions that are tied together into a single workflow later on.

It is separated out of#97533 for atomicity.

Copy link
ContributorAuthor

@webknjazwebknjaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@ambv I've added a few annotations below, hopefully they're helpful

@@ -26,7 +26,7 @@ permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

This collides with the “parent” workflow if it's exactly the same, which is why it was required to introduce some difference.

Misc/**
.github/workflows/reusable-docs.yml
- name: Check for docs changes
if: >-
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

If this step is skipped, the job output above will fall back tofalse.

@@ -35,6 +35,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
run-docs: ${{ steps.docs-changes.outputs.run-docs || false }}
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

The part after|| is only used as a fallback when the first part of the expression is empty (like when that step didn't even get executed).

Comment on lines +69 to +91
filter: |
Doc/**
Misc/**
.github/workflows/reusable-docs.yml
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

This reimplements what was implemented throughpaths:.

check-docs:
name: 📝
needs: check_source
if: fromJSON(needs.check_source.outputs.run-docs)
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

The job above sets eithertrue orfalse as strings, parsing that as JSON allows not having equality checks.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I made the workflow file name prefixed withreusable- to start a convention that would help distinguish standalone workflows from the “inclusion snippets”.


on:
workflow_call:
workflow_dispatch:
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I kept this to make it possible to still trigger just this workflow separately, via a manual request.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@hugovk this is the only bit I wasn't sure about — is it useful to keep this trigger at all. If not, deleting it could improve maintainability..

Comment on lines 5 to 28
#push:
# branches:
# - 'main'
# - '3.11'
# - '3.10'
# - '3.9'
# - '3.8'
# - '3.7'
# paths:
# - 'Doc/**'
pull_request:
branches:
- 'main'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.7'
paths:
- 'Doc/**'
- 'Misc/**'
- '.github/workflows/doc.yml'
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I reimplemented the filtering on the calling side. Dropping thepull_request trigger means that it won't run standalone on PRs, but it will run via inclusion into the main build workflow.


on:
workflow_call:
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

This bit is what allows to “include” this workflow into another.

@webknjazwebknjazforce-pushed themaintenance/gha-reusable-docs-workflow branch 3 times, most recently fromcbf7985 to3f8d6d2CompareApril 27, 2023 22:23
hugovk
hugovk previously requested changesApr 30, 2023
@bedevere-bot
Copy link

A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated.

Once you have made the requested changes, please leave a comment on this pull request containing the phraseI have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request.

@ghost
Copy link

ghost commentedMay 2, 2023
edited by ghost
Loading

All commit authors signed the Contributor License Agreement.
CLA signed

@webknjazwebknjaz requested a review fromhugovkMay 2, 2023 15:47
@webknjaz
Copy link
ContributorAuthor

I have made the requested changes; please review again.

cc@ambv@hugovk

@bedevere-bot
Copy link

Thanks for making the requested changes!

@hugovk: please review the changes made to this pull request.

@hugovk
Copy link
Member

How far back do we want to backport this (and its parent#97533), if at all?

@webknjaz
Copy link
ContributorAuthor

@hugovk are there huge differences? I think it's okay to backport all the way back to 3.7, if the difference isn't big. Even if it is, I'm willing to explore solving all the cherry-picking conflicts, if necessary.

@webknjaz
Copy link
ContributorAuthor

As for the "parent PR" I envision that@ambv would want it fully backported because he wanted to make auto-merge painless...

@hugovk
Copy link
Member

The general policy is to only backport non-security things for bugfix branches (i.e. 3.11), but CI changes can usually go further back because we need to test older security branches (i.e. 3.7-3.10) when we do get security fixes, and keeping them in sync makes backporting easier.

https://devguide.python.org/versions/

So we're probably fine backporting to 3.7, and we can always check with the release managers.

@webknjaz
Copy link
ContributorAuthor

Yep, that was my thinking too.

hugovk reacted with thumbs up emoji

@webknjaz
Copy link
ContributorAuthor

I've implemented a similar change in pypa/build recently, it seems to work well so far:pypa/build@04df94c.

@webknjazwebknjazforce-pushed themaintenance/gha-reusable-docs-workflow branch 2 times, most recently from1c7f95d to0a04207CompareMay 24, 2023 16:50
@hugovkhugovk dismissed theirstale reviewMay 24, 2023 18:03

Changes made

@webknjaz
Copy link
ContributorAuthor

@hugovk this should fix the problem:#105151.

hugovk pushed a commit to hugovk/cpython that referenced this pull requestJun 1, 2023
This is necessary because paths with whitespaces tend to crash saidaction[[1]][[2]][[3]]. Also, we don't need to use JSON as it's harderto parse while the value isn't used except for the emptiness check.The change fixes [[4]][1]:https://github.com/Ana06/get-changed-files#get-all-changed-files-as-space-delimited[2]:python#103914 (comment)[3]:python#103914 (comment)[4]:python#103914 (comment)
hugovk pushed a commit to hugovk/cpython that referenced this pull requestJun 1, 2023
This is necessary because paths with whitespaces tend to crash saidaction[[1]][[2]][[3]]. Also, we don't need to use JSON as it's harderto parse while the value isn't used except for the emptiness check.The change fixes [[4]][1]:https://github.com/Ana06/get-changed-files#get-all-changed-files-as-space-delimited[2]:python#103914 (comment)[3]:python#103914 (comment)[4]:python#103914 (comment)
@pablogsalpablogsal added needs backport to 3.11only security fixes needs backport to 3.12only security fixes labelsJul 22, 2023
@miss-islington
Copy link
Contributor

Thanks@webknjaz for the PR, and@pradyunsg for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Thanks@webknjaz for the PR, and@pradyunsg for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry,@webknjaz and@pradyunsg, I could not cleanly backport this to3.11 due to a conflict.
Please backport usingcherry_picker on command line.
cherry_picker 88d14da76f579fe014cbd7c15e42be4234135fe9 3.11

@miss-islington
Copy link
Contributor

Sorry@webknjaz and@pradyunsg, I had trouble checking out the3.12 backport branch.
Please retry by removing and re-adding the "needs backport to 3.12" label.
Alternatively, you can backport usingcherry_picker on the command line.
cherry_picker 88d14da76f579fe014cbd7c15e42be4234135fe9 3.12

@pablogsalpablogsal added the needs backport to 3.10only security fixes labelJul 22, 2023
@miss-islington
Copy link
Contributor

Thanks@webknjaz for the PR, and@pradyunsg for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry,@webknjaz and@pradyunsg, I could not cleanly backport this to3.10 due to a conflict.
Please backport usingcherry_picker on command line.
cherry_picker 88d14da76f579fe014cbd7c15e42be4234135fe9 3.10

@miss-islington
Copy link
Contributor

Thanks@webknjaz for the PR, and@pradyunsg for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8.
🐍🍒⛏🤖 I'm not a witch! I'm not a witch!

@miss-islington
Copy link
Contributor

Sorry@webknjaz and@pradyunsg, I had trouble checking out the3.8 backport branch.
Please retry by removing and re-adding the "needs backport to 3.8" label.
Alternatively, you can backport usingcherry_picker on the command line.
cherry_picker 88d14da76f579fe014cbd7c15e42be4234135fe9 3.8

@miss-islington
Copy link
Contributor

Thanks@webknjaz for the PR, and@pradyunsg for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry,@webknjaz and@pradyunsg, I could not cleanly backport this to3.9 due to a conflict.
Please backport usingcherry_picker on command line.
cherry_picker 88d14da76f579fe014cbd7c15e42be4234135fe9 3.9

@pablogsalpablogsal removed needs backport to 3.8 needs backport to 3.9only security fixes needs backport to 3.10only security fixes needs backport to 3.11only security fixes needs backport to 3.12only security fixes labelsJul 22, 2023
webknjaz added a commit to webknjaz/cpython that referenced this pull requestJul 22, 2023
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>(cherry picked from commit88d14da)Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
@bedevere-bot
Copy link

GH-107042 is a backport of this pull request to the3.12 branch.

@bedevere-bot
Copy link

GH-107043 is a backport of this pull request to the3.11 branch.

ambv pushed a commit that referenced this pull requestJul 23, 2023
…) (#107043)Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>.(cherry picked from commit88d14da)(cherry picked from commiteaa6702)
ambv pushed a commit that referenced this pull requestJul 23, 2023
…) (#107042)Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>(cherry picked from commit88d14da)(cherry picked from commiteaa6702)
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@hugovkhugovkhugovk approved these changes

@pradyunsgpradyunsgpradyunsg approved these changes

@ezio-melottiezio-melottiAwaiting requested review from ezio-melottiezio-melotti is a code owner

Assignees

@pradyunsgpradyunsg

Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

8 participants
@webknjaz@bedevere-bot@hugovk@encukou@miss-islington@pradyunsg@pablogsal@AlexWaygood

[8]ページ先頭

©2009-2025 Movatter.jp