From 3140563b3207743974111ac52c00a74153138c72 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:56:49 +0000 Subject: [PATCH 1/4] Initial plan From e00f04203ec6d3ee7bb16714fb1a690424d9d0a8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:59:22 +0000 Subject: [PATCH 2/4] Optimize CI workflow: timeouts, caching, paths-ignore, cleanup Agent-Logs-Url: https://github.com/insop/RustPython/sessions/b7e469e0-7911-4458-82eb-dc9388926716 Co-authored-by: insop <1240382+insop@users.noreply.github.com> --- .github/workflows/ci.yaml | 42 ++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fa01906910..113360521a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,8 +1,16 @@ on: push: branches: [main, release] + paths-ignore: + - '**.md' + - 'docs/**' + - 'LICENSE' pull_request: types: [unlabeled, opened, synchronize, reopened] + paths-ignore: + - '**.md' + - 'docs/**' + - 'LICENSE' merge_group: workflow_dispatch: @@ -86,14 +94,6 @@ jobs: run: cargo build --no-default-features --features ssl-openssl if: runner.os == 'Linux' - # - name: Install tk-dev for tkinter build - # run: sudo apt-get update && sudo apt-get install -y tk-dev - # if: runner.os == 'Linux' - - # - name: Test tkinter build - # run: cargo build --features tkinter - # if: runner.os == 'Linux' - - name: Test example projects run: | cargo run --manifest-path example_projects/barebone/Cargo.toml @@ -110,6 +110,7 @@ jobs: if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip:ci') }} name: Ensure compilation on various targets runs-on: ${{ matrix.os }} + timeout-minutes: 30 strategy: matrix: include: @@ -165,14 +166,6 @@ jobs: ndk-version: r27 add-to-path: true - # - name: Prepare repository for redox compilation - # run: bash scripts/redox/uncomment-cargo.sh - # - name: Check compilation for Redox - # uses: coolreader18/redoxer-action@v1 - # with: - # command: check - # args: --ignore-rust-version - - name: Check compilation run: | for target in ${{ join(matrix.targets, ' ') }} @@ -237,10 +230,13 @@ jobs: - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 with: save-if: ${{ github.ref == 'refs/heads/main' }} + shared-key: release-${{ matrix.os }} - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.PYTHON_VERSION }} + cache: 'pip' + cache-dependency-path: extra_tests/requirements.txt - name: Install macOS dependencies uses: ./.github/actions/install-macos-deps @@ -276,6 +272,7 @@ jobs: RUSTPYTHON_SKIP_ENV_POLLUTERS: true - name: run cpython tests to check if env polluters have stopped polluting + if: ${{ join(matrix.env_polluting_tests, '') != '' }} shell: bash run: | IFS=' ' read -r -a target_array <<< "$TARGETS" @@ -331,6 +328,7 @@ jobs: lint: name: Lint runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: read checks: write @@ -444,15 +442,15 @@ jobs: - name: install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - - name: install geckodriver - run: | - wget https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz - mkdir geckodriver - tar -xzf geckodriver-v0.36.0-linux64.tar.gz -C geckodriver + - uses: browser-actions/setup-geckodriver@abea85e42a1a4daaad52810b92e47afbc4e1eec7 # v0.4 + with: + geckodriver-version: '0.36.0' - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.PYTHON_VERSION }} + cache: 'pip' + cache-dependency-path: wasm/tests/requirements.txt - run: python -m pip install -r requirements.txt working-directory: ./wasm/tests @@ -462,8 +460,6 @@ jobs: cache-dependency-path: "wasm/demo/package-lock.json" - name: run test run: | - driver_path="$(pwd)/../../geckodriver" - export PATH="$PATH:${driver_path}" npm install npm run test env: From 8d3d3cb932f9f6370cd0db909dc3e21e06ab1d0a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Mar 2026 21:06:07 +0000 Subject: [PATCH 3/4] fix: use correct commit SHA for browser-actions/setup-geckodriver Agent-Logs-Url: https://github.com/insop/RustPython/sessions/50324ab5-3a09-45b4-9204-8b9538494734 Co-authored-by: insop <1240382+insop@users.noreply.github.com> --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 113360521a..6ea0105e54 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -442,7 +442,7 @@ jobs: - name: install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - - uses: browser-actions/setup-geckodriver@abea85e42a1a4daaad52810b92e47afbc4e1eec7 # v0.4 + - uses: browser-actions/setup-geckodriver@01983cba585474556f36f12da47225cd94b330b9 with: geckodriver-version: '0.36.0' From 0e270f226419952b6aff9bf8993f3f7d726ffda4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Mar 2026 21:11:33 +0000 Subject: [PATCH 4/4] fix: revert to manual geckodriver install (setup-geckodriver action lacks proper releases) Agent-Logs-Url: https://github.com/insop/RustPython/sessions/4e47da79-dfd3-4b5d-b09b-4ebdf856f13d Co-authored-by: insop <1240382+insop@users.noreply.github.com> --- .github/workflows/ci.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6ea0105e54..f6d933cf01 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -442,9 +442,11 @@ jobs: - name: install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - - uses: browser-actions/setup-geckodriver@01983cba585474556f36f12da47225cd94b330b9 - with: - geckodriver-version: '0.36.0' + - name: install geckodriver + run: | + wget https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz + mkdir geckodriver + tar -xzf geckodriver-v0.36.0-linux64.tar.gz -C geckodriver - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: @@ -460,6 +462,8 @@ jobs: cache-dependency-path: "wasm/demo/package-lock.json" - name: run test run: | + driver_path="$(pwd)/../../geckodriver" + export PATH="$PATH:${driver_path}" npm install npm run test env: