From 178c1206972b6d1f62efbbca43e642a978e72198 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Sat, 19 Apr 2025 12:29:11 +0100 Subject: [PATCH 1/6] Draft workflow updater --- .github/workflows/idlelib-help-regen.yml | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/idlelib-help-regen.yml diff --git a/.github/workflows/idlelib-help-regen.yml b/.github/workflows/idlelib-help-regen.yml new file mode 100644 index 00000000000000..d0a1aa51f04118 --- /dev/null +++ b/.github/workflows/idlelib-help-regen.yml @@ -0,0 +1,46 @@ +name: Generate Lib/idlelib/help.html + +on: + pull_request: + paths: + - "Doc/library/idle.rst" + +jobs: + generate-help-html: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + - name: Set up Git user + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh auth login --with-token <<< "${GITHUB_TOKEN}" + gh pr checkout ${{ github.event.pull_request.number }} + + - run: | + cd Doc + make venv + make html + python -c "from idlelib.help import copy_strip; copy_strip()" + + - run: | + git add Lib/idlelib/help.html + git diff --staged --quiet || git commit -m "Auto-update help.html from idle.rst" + + - env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git push From c8d9a5305d9beb9a8b556f190f3476976101727e Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Sat, 19 Apr 2025 12:35:36 +0100 Subject: [PATCH 2/6] lint --- .github/workflows/idlelib-help-regen.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/idlelib-help-regen.yml b/.github/workflows/idlelib-help-regen.yml index d0a1aa51f04118..0e0b9c27ee43c0 100644 --- a/.github/workflows/idlelib-help-regen.yml +++ b/.github/workflows/idlelib-help-regen.yml @@ -16,6 +16,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 + persist-credentials: false - uses: actions/setup-python@v5 with: python-version: '3.x' From d9c39a7d9c0dc3bbddd8f71ad029237c592ec47a Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Sat, 19 Apr 2025 12:40:15 +0100 Subject: [PATCH 3/6] "Test" the workflow --- .github/workflows/idlelib-help-regen.yml | 3 ++- Doc/library/idle.rst | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/idlelib-help-regen.yml b/.github/workflows/idlelib-help-regen.yml index 0e0b9c27ee43c0..2a935c96010711 100644 --- a/.github/workflows/idlelib-help-regen.yml +++ b/.github/workflows/idlelib-help-regen.yml @@ -35,7 +35,8 @@ jobs: cd Doc make venv make html - python -c "from idlelib.help import copy_strip; copy_strip()" + cd .. + python -c "from Lib.idlelib.help import copy_strip; copy_strip()" - run: | git add Lib/idlelib/help.html diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst index fabea611e0ebcd..37af3dde62243c 100644 --- a/Doc/library/idle.rst +++ b/Doc/library/idle.rst @@ -19,6 +19,21 @@ IDLE --- Python editor and shell IDLE is Python's Integrated Development and Learning Environment. +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST +TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST + IDLE has the following features: * cross-platform: works mostly the same on Windows, Unix, and macOS From c6c76fc44e39d0a699d9cf8207103837d4b5dc42 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Sat, 19 Apr 2025 12:42:55 +0100 Subject: [PATCH 4/6] Fix auth issue --- .github/workflows/idlelib-help-regen.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/idlelib-help-regen.yml b/.github/workflows/idlelib-help-regen.yml index 2a935c96010711..4755dd911fd380 100644 --- a/.github/workflows/idlelib-help-regen.yml +++ b/.github/workflows/idlelib-help-regen.yml @@ -28,7 +28,7 @@ jobs: - env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - gh auth login --with-token <<< "${GITHUB_TOKEN}" + gh auth setup-git gh pr checkout ${{ github.event.pull_request.number }} - run: | From 026956bb17e65406ea8f86f1d4e9f5c74a15c2eb Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Sat, 19 Apr 2025 12:51:42 +0100 Subject: [PATCH 5/6] Fix auth issue --- .github/workflows/idlelib-help-regen.yml | 27 +++++++++++------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/.github/workflows/idlelib-help-regen.yml b/.github/workflows/idlelib-help-regen.yml index 4755dd911fd380..a91d728f26c88a 100644 --- a/.github/workflows/idlelib-help-regen.yml +++ b/.github/workflows/idlelib-help-regen.yml @@ -1,7 +1,7 @@ name: Generate Lib/idlelib/help.html on: - pull_request: + push: paths: - "Doc/library/idle.rst" @@ -10,7 +10,6 @@ jobs: runs-on: ubuntu-latest permissions: contents: write - pull-requests: write steps: - uses: actions/checkout@v4 @@ -20,29 +19,27 @@ jobs: - uses: actions/setup-python@v5 with: python-version: '3.x' - - name: Set up Git user + + - name: Git setup run: | git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Build and copy run: | - gh auth setup-git - gh pr checkout ${{ github.event.pull_request.number }} - - - run: | cd Doc make venv make html cd .. python -c "from Lib.idlelib.help import copy_strip; copy_strip()" - - run: | - git add Lib/idlelib/help.html - git diff --staged --quiet || git commit -m "Auto-update help.html from idle.rst" - - - env: + - name: Commit and push if changed + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - git push + if ! git diff --quiet Lib/idlelib/help.html; then + git add Lib/idlelib/help.html + git commit -m "Auto-update help.html from idle.rst" + git push + else + echo "No changes to commit." From 397a8e68ae7c9d3b864319c32a93223e2c8595e3 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Mon, 21 Apr 2025 21:30:58 +0100 Subject: [PATCH 6/6] More realistic workflow --- .github/workflows/idlelib-help-regen.yml | 27 +++++------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/.github/workflows/idlelib-help-regen.yml b/.github/workflows/idlelib-help-regen.yml index a91d728f26c88a..c6c9efa73fabe7 100644 --- a/.github/workflows/idlelib-help-regen.yml +++ b/.github/workflows/idlelib-help-regen.yml @@ -1,4 +1,4 @@ -name: Generate Lib/idlelib/help.html +name: Check Lib/idlelib/help.html is up to date on: push: @@ -6,25 +6,16 @@ on: - "Doc/library/idle.rst" jobs: - generate-help-html: + check-help-html: runs-on: ubuntu-latest - permissions: - contents: write steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - persist-credentials: false - uses: actions/setup-python@v5 with: - python-version: '3.x' - - - name: Git setup - run: | - git config user.name "github-actions[bot]" - git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - + python-version: '3' - name: Build and copy run: | cd Doc @@ -32,14 +23,6 @@ jobs: make html cd .. python -c "from Lib.idlelib.help import copy_strip; copy_strip()" - - - name: Commit and push if changed - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | + - run: | if ! git diff --quiet Lib/idlelib/help.html; then - git add Lib/idlelib/help.html - git commit -m "Auto-update help.html from idle.rst" - git push - else - echo "No changes to commit." + exit 1