From 4fb890aa37f7b658cf0514768c15f17a9d9f3d7e Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 02:16:22 -0500 Subject: [PATCH 01/30] First draft of CI --- .forgejo/workflows/build.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .forgejo/workflows/build.yaml diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..f407034 --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,23 @@ +on: [push, pull_request] +jobs: + build: + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + - name: Install Python dependencies + run: pip install -r requirements.txt + - name: Set up Rust + uses: dtolnay/rust-toolchain@stable + - name: Install Rust dependencies + run: cargo fetch + - name: Check formatting + run: cargo fmt --check + - name: Build + run: maturin develop + - name: Python tests + run: pytest tests/*.py + - name: Rust tests + run: cargo test -- 2.47.2 From 32afdabf0aee36e03ad7f2f9b8be0625db1fd13a Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 02:35:12 -0500 Subject: [PATCH 02/30] Try another URL for Rust setup --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index f407034..b5e668f 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -10,7 +10,7 @@ jobs: - name: Install Python dependencies run: pip install -r requirements.txt - name: Set up Rust - uses: dtolnay/rust-toolchain@stable + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - name: Install Rust dependencies run: cargo fetch - name: Check formatting -- 2.47.2 From 0ec31b89724d87f10d630e00e17c8c8b4f366909 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 02:39:30 -0500 Subject: [PATCH 03/30] Try to fix Python dependency installation --- .forgejo/workflows/build.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index b5e668f..8c2274e 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -8,6 +8,9 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 - name: Install Python dependencies + with: + python-version: "3.13" + cache: "pip" run: pip install -r requirements.txt - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 -- 2.47.2 From cb634c5f96bad24844e9ff748a283ecf743877b8 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 02:40:43 -0500 Subject: [PATCH 04/30] Fix location of Python actions options --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 8c2274e..65c2333 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -7,10 +7,10 @@ jobs: uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 - - name: Install Python dependencies with: python-version: "3.13" cache: "pip" + - name: Install Python dependencies run: pip install -r requirements.txt - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 -- 2.47.2 From 33b8efa5b551da5a18ccbe0b7c127a4e89b60c66 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 02:42:20 -0500 Subject: [PATCH 05/30] Fix action's Python version --- .forgejo/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 65c2333..9da457b 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -8,8 +8,8 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.13" - cache: "pip" + python-version: 3.13.2 + cache: pip - name: Install Python dependencies run: pip install -r requirements.txt - name: Set up Rust -- 2.47.2 From b1eb4be4d030da9e9f5ff66556ae4cf174d06b17 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:02:49 -0500 Subject: [PATCH 06/30] Split into different jobs Although some will still fail --- .forgejo/workflows/build.yaml | 60 +++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 9da457b..317d91e 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -1,26 +1,58 @@ +--- on: [push, pull_request] + +name: CI + jobs: - build: + formatting: + name: Formatting runs-on: docker steps: - name: Checkout uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + components: rustfmt + - name: Check Rust formatting + run: cargo fmt --all -- --check + + clippy: + name: Clippy + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + components: clippy + - name: Run Clippy + run: cargo clippy -- -D warnings + + check: + name: Check + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + - name: Check for Rust compilation errors + run: cargo check + + build: + name: Build + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.13.2 - cache: pip - - name: Install Python dependencies run: pip install -r requirements.txt - - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - - name: Install Rust dependencies - run: cargo fetch - - name: Check formatting - run: cargo fmt --check - - name: Build + - name: Build Rust code run: maturin develop - - name: Python tests - run: pytest tests/*.py - - name: Rust tests - run: cargo test -- 2.47.2 From fe0fa80cf62188f3dc5b1224d4bfce7996866e04 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:07:41 -0500 Subject: [PATCH 07/30] Fix Python steps in build job --- .forgejo/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 317d91e..273c335 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -49,10 +49,11 @@ jobs: uses: actions/checkout@v4 - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - - name: Set up Python + - name: Set up Python toolchain uses: actions/setup-python@v5 with: python-version: 3.13.2 + - name: Set up Python environment run: pip install -r requirements.txt - name: Build Rust code run: maturin develop -- 2.47.2 From 1e212fc07713349fe9d59fa30a5f10dd2b361a12 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:07:53 -0500 Subject: [PATCH 08/30] Add Rust tests job --- .forgejo/workflows/build.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 273c335..54fe075 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -57,3 +57,14 @@ jobs: run: pip install -r requirements.txt - name: Build Rust code run: maturin develop + + test-rust: + name: Test Rust + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + - name: Run Rust tests + run: cargo test -- 2.47.2 From 032aa3540b664388bf868399587ebaa27c4a6959 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:13:04 -0500 Subject: [PATCH 09/30] Maybe fix Rust action setup? --- .forgejo/workflows/build.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 54fe075..29d9092 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -13,6 +13,7 @@ jobs: - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 with: + toolchain: stable components: rustfmt - name: Check Rust formatting run: cargo fmt --all -- --check @@ -26,6 +27,7 @@ jobs: - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 with: + toolchain: stable components: clippy - name: Run Clippy run: cargo clippy -- -D warnings @@ -38,6 +40,8 @@ jobs: uses: actions/checkout@v4 - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable - name: Check for Rust compilation errors run: cargo check @@ -49,6 +53,8 @@ jobs: uses: actions/checkout@v4 - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable - name: Set up Python toolchain uses: actions/setup-python@v5 with: @@ -66,5 +72,7 @@ jobs: uses: actions/checkout@v4 - name: Set up Rust uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable - name: Run Rust tests run: cargo test -- 2.47.2 From f687105dc9696541957f03d71f98756d36e47478 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:18:59 -0500 Subject: [PATCH 10/30] Comment out extra jobs until I get them working --- .forgejo/workflows/build.yaml | 74 +++++++++++++++++------------------ 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 29d9092..7088043 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -18,32 +18,32 @@ jobs: - name: Check Rust formatting run: cargo fmt --all -- --check - clippy: - name: Clippy - runs-on: docker - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: stable - components: clippy - - name: Run Clippy - run: cargo clippy -- -D warnings + # clippy: + # name: Clippy + # runs-on: docker + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # - name: Set up Rust + # uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + # with: + # toolchain: stable + # components: clippy + # - name: Run Clippy + # run: cargo clippy -- -D warnings - check: - name: Check - runs-on: docker - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: stable - - name: Check for Rust compilation errors - run: cargo check + # check: + # name: Check + # runs-on: docker + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # - name: Set up Rust + # uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + # with: + # toolchain: stable + # - name: Check for Rust compilation errors + # run: cargo check build: name: Build @@ -64,15 +64,15 @@ jobs: - name: Build Rust code run: maturin develop - test-rust: - name: Test Rust - runs-on: docker - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: stable - - name: Run Rust tests - run: cargo test + # test-rust: + # name: Test Rust + # runs-on: docker + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # - name: Set up Rust + # uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + # with: + # toolchain: stable + # - name: Run Rust tests + # run: cargo test -- 2.47.2 From 9db6a303a708296bb901fc1e0a8fcbcb3b86884f Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:19:42 -0500 Subject: [PATCH 11/30] Try not overriding Rust action toolchain --- .forgejo/workflows/build.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 7088043..d485007 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -14,6 +14,7 @@ jobs: uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable + override: false components: rustfmt - name: Check Rust formatting run: cargo fmt --all -- --check @@ -55,6 +56,7 @@ jobs: uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable + override: false - name: Set up Python toolchain uses: actions/setup-python@v5 with: -- 2.47.2 From 0ef73312767c9c1baa87710137c7e43e0b7b31d8 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:21:46 -0500 Subject: [PATCH 12/30] Move build action rust setup code down to try out Python setup --- .forgejo/workflows/build.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index d485007..c44ebef 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -52,17 +52,17 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: stable - override: false - name: Set up Python toolchain uses: actions/setup-python@v5 with: python-version: 3.13.2 - name: Set up Python environment run: pip install -r requirements.txt + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + override: false - name: Build Rust code run: maturin develop -- 2.47.2 From 7a1b92280d0b7a1d9647323426b2ca8d18918d99 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:26:40 -0500 Subject: [PATCH 13/30] Use simple Rust setup action --- .forgejo/workflows/build.yaml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index c44ebef..5e68c85 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -11,10 +11,8 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + uses: https://github.com/dtolnay/rust-toolchain@stable with: - toolchain: stable - override: false components: rustfmt - name: Check Rust formatting run: cargo fmt --all -- --check @@ -59,10 +57,7 @@ jobs: - name: Set up Python environment run: pip install -r requirements.txt - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: stable - override: false + uses: https://github.com/dtolnay/rust-toolchain@stable - name: Build Rust code run: maturin develop -- 2.47.2 From f8a923293b70a1a07ce13473edca67f95d315f2b Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:27:01 -0500 Subject: [PATCH 14/30] Try directly using GitHub Python setup action --- .forgejo/workflows/build.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 5e68c85..0ab45ab 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -51,9 +51,10 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Python toolchain - uses: actions/setup-python@v5 + uses: https://github.com/actions/setup-python@v5 with: - python-version: 3.13.2 + python-version: "3.13" + cache: pip - name: Set up Python environment run: pip install -r requirements.txt - name: Set up Rust -- 2.47.2 From f9705ada5727bbd6e52e56e7961904f74948fa84 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:30:45 -0500 Subject: [PATCH 15/30] Another try at Python action setup --- .forgejo/workflows/build.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 0ab45ab..77096d3 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -51,12 +51,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Python toolchain - uses: https://github.com/actions/setup-python@v5 + uses: actions/setup-python@v5 with: - python-version: "3.13" cache: pip - name: Set up Python environment - run: pip install -r requirements.txt + run: python3 -m pip install -r requirements.txt - name: Set up Rust uses: https://github.com/dtolnay/rust-toolchain@stable - name: Build Rust code -- 2.47.2 From 5ab5aa0301b5eaf0c6ae6943313d6be4e25498bd Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:31:43 -0500 Subject: [PATCH 16/30] Use functioning Rust toolchain setup action --- .forgejo/workflows/build.yaml | 69 ++++++++++++++++------------------- 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 77096d3..896c663 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -17,32 +17,29 @@ jobs: - name: Check Rust formatting run: cargo fmt --all -- --check - # clippy: - # name: Clippy - # runs-on: docker - # steps: - # - name: Checkout - # uses: actions/checkout@v4 - # - name: Set up Rust - # uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - # with: - # toolchain: stable - # components: clippy - # - name: Run Clippy - # run: cargo clippy -- -D warnings + clippy: + name: Clippy + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/dtolnay/rust-toolchain@stable + with: + components: clippy + - name: Run Clippy + run: cargo clippy -- -D warnings - # check: - # name: Check - # runs-on: docker - # steps: - # - name: Checkout - # uses: actions/checkout@v4 - # - name: Set up Rust - # uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - # with: - # toolchain: stable - # - name: Check for Rust compilation errors - # run: cargo check + check: + name: Check + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/dtolnay/rust-toolchain@stable + - name: Check for Rust compilation errors + run: cargo check build: name: Build @@ -61,15 +58,13 @@ jobs: - name: Build Rust code run: maturin develop - # test-rust: - # name: Test Rust - # runs-on: docker - # steps: - # - name: Checkout - # uses: actions/checkout@v4 - # - name: Set up Rust - # uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - # with: - # toolchain: stable - # - name: Run Rust tests - # run: cargo test + test-rust: + name: Test Rust + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/dtolnay/rust-toolchain@stable + - name: Run Rust tests + run: cargo test -- 2.47.2 From dca4806af8c1aa9611803dcb82d114d974f72050 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:39:49 -0500 Subject: [PATCH 17/30] No point having cargo check and build in the same pipeline --- .forgejo/workflows/build.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 896c663..f5644fc 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -30,17 +30,6 @@ jobs: - name: Run Clippy run: cargo clippy -- -D warnings - check: - name: Check - runs-on: docker - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Rust - uses: https://github.com/dtolnay/rust-toolchain@stable - - name: Check for Rust compilation errors - run: cargo check - build: name: Build runs-on: docker -- 2.47.2 From 35d0c0b4a223a1001d312804db06110c55bf2e9d Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:42:00 -0500 Subject: [PATCH 18/30] Try installing pip for action --- .forgejo/workflows/build.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index f5644fc..23cb350 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -40,6 +40,8 @@ jobs: uses: actions/setup-python@v5 with: cache: pip + - name: Install pip + run: python3 -m ensurepip - name: Set up Python environment run: python3 -m pip install -r requirements.txt - name: Set up Rust -- 2.47.2 From 70484eac68ba0e2c24793c10c58b0cb88ffcbdba Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:47:43 -0500 Subject: [PATCH 19/30] Try again to set up pip --- .forgejo/workflows/build.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 23cb350..325b766 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -40,10 +40,11 @@ jobs: uses: actions/setup-python@v5 with: cache: pip - - name: Install pip - run: python3 -m ensurepip - name: Set up Python environment - run: python3 -m pip install -r requirements.txt + run: | + curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py + python3 get-pip.py + python3 -m pip install -r requirements.txt - name: Set up Rust uses: https://github.com/dtolnay/rust-toolchain@stable - name: Build Rust code @@ -57,5 +58,7 @@ jobs: uses: actions/checkout@v4 - name: Set up Rust uses: https://github.com/dtolnay/rust-toolchain@stable + - name: Set up Python toolchain + uses: actions/setup-python@v5 - name: Run Rust tests run: cargo test -- 2.47.2 From 28dbb46ad12a573623348ba2f06f83faec2da6df Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 04:03:27 -0500 Subject: [PATCH 20/30] Set up venv for build action --- .forgejo/workflows/build.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 325b766..c9d5ee4 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,6 +42,8 @@ jobs: cache: pip - name: Set up Python environment run: | + python3 -m venv venv + source venv/bin/activate curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py python3 -m pip install -r requirements.txt -- 2.47.2 From a1579e9036cd77a9d528b7e25f604cfa4f78e48d Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 04:13:51 -0500 Subject: [PATCH 21/30] Move action venv creation after necessary modules --- .forgejo/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index c9d5ee4..78f420c 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,11 +42,11 @@ jobs: cache: pip - name: Set up Python environment run: | - python3 -m venv venv - source venv/bin/activate curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py - python3 -m pip install -r requirements.txt + python3 -m venv venv + source venv/bin/activate + pip install -r requirements.txt - name: Set up Rust uses: https://github.com/dtolnay/rust-toolchain@stable - name: Build Rust code -- 2.47.2 From 53361619b9e550bbe833e11e79b6ef1e0a305a99 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 04:29:35 -0500 Subject: [PATCH 22/30] Use apt to install Python modules for actions --- .forgejo/workflows/build.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 78f420c..26645b2 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,8 +42,7 @@ jobs: cache: pip - name: Set up Python environment run: | - curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py - python3 get-pip.py + apt-get install python3-pip python3-setuptools python3-wheel python3-venv python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -- 2.47.2 From 67c42468cb859016a01a2ce0d7465a8d7368ce04 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:09:09 -0500 Subject: [PATCH 23/30] Revert "Use apt to install Python modules for actions" This reverts commit 53361619b9e550bbe833e11e79b6ef1e0a305a99. --- .forgejo/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 26645b2..78f420c 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,7 +42,8 @@ jobs: cache: pip - name: Set up Python environment run: | - apt-get install python3-pip python3-setuptools python3-wheel python3-venv + curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py + python3 get-pip.py python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -- 2.47.2 From 3dc294206651f1656f16fe6aac164991eaf2ef2b Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:14:08 -0500 Subject: [PATCH 24/30] Try using virtualenv for build action --- .forgejo/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 78f420c..3bf18e8 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -44,7 +44,8 @@ jobs: run: | curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py - python3 -m venv venv + python3 -m pip install virtualenv + python3 -m virtualenv venv source venv/bin/activate pip install -r requirements.txt - name: Set up Rust -- 2.47.2 From 03c9ec4adae9947f80150da22186dfd53c7b5887 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:21:57 -0500 Subject: [PATCH 25/30] Remove test job that just fails while building --- .forgejo/workflows/build.yaml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 3bf18e8..93635a9 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -52,16 +52,3 @@ jobs: uses: https://github.com/dtolnay/rust-toolchain@stable - name: Build Rust code run: maturin develop - - test-rust: - name: Test Rust - runs-on: docker - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Rust - uses: https://github.com/dtolnay/rust-toolchain@stable - - name: Set up Python toolchain - uses: actions/setup-python@v5 - - name: Run Rust tests - run: cargo test -- 2.47.2 From 38c22f302fef5bf64b09b46e4fd14fb62121c7dc Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:22:46 -0500 Subject: [PATCH 26/30] Enter venv before referencing maturin in build job --- .forgejo/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 93635a9..c68e990 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -51,4 +51,6 @@ jobs: - name: Set up Rust uses: https://github.com/dtolnay/rust-toolchain@stable - name: Build Rust code - run: maturin develop + run: | + source venv/bin/activate + maturin develop -- 2.47.2 From ff6cc64785c92217edb1f55fd55056c17a2e48ea Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:23:34 -0500 Subject: [PATCH 27/30] Don't re-run CI on PR --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index c68e990..5bb29ed 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -1,5 +1,5 @@ --- -on: [push, pull_request] +on: [push] name: CI -- 2.47.2 From 0fe8bd7de0de4ace68161f192fa79601c9712875 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:32:28 -0500 Subject: [PATCH 28/30] Add tests to build job --- .forgejo/workflows/build.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 5bb29ed..8ca489e 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -31,7 +31,7 @@ jobs: run: cargo clippy -- -D warnings build: - name: Build + name: Build (and test, for now) runs-on: docker steps: - name: Checkout @@ -54,3 +54,11 @@ jobs: run: | source venv/bin/activate maturin develop + - name: Run Python tests + run: | + source venv/bin/activate + pytest tests/*.py + - name: Run Rust tests + run: | + source venv/bin/activate + cargo test -- 2.47.2 From e86311ee0dd00605d5dd844d19d92e53547caf13 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:42:56 -0500 Subject: [PATCH 29/30] Temporarily disable Python test --- .forgejo/workflows/build.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 8ca489e..f16ea26 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -36,6 +36,7 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + # TODO: Find some other method of managing this that doesn't require me to set stuff up myself - name: Set up Python toolchain uses: actions/setup-python@v5 with: @@ -54,10 +55,12 @@ jobs: run: | source venv/bin/activate maturin develop - - name: Run Python tests - run: | - source venv/bin/activate - pytest tests/*.py + # TODO: Moving tests to another job feels like better form + # FIXME: The runner's Python version is 3.9, which breaks one some of the type syntax found in the tests + # - name: Run Python tests + # run: | + # source venv/bin/activate + # pytest tests/*.py - name: Run Rust tests run: | source venv/bin/activate -- 2.47.2 From aeff99b71d50b83cb97bc8698532eb70a34b69df Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 05:51:08 -0500 Subject: [PATCH 30/30] Temporarily dIsable tests --- .forgejo/workflows/build.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index f16ea26..0a772b6 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -31,7 +31,7 @@ jobs: run: cargo clippy -- -D warnings build: - name: Build (and test, for now) + name: Build runs-on: docker steps: - name: Checkout @@ -55,13 +55,17 @@ jobs: run: | source venv/bin/activate maturin develop + # TODO: Moving tests to another job feels like better form + # FIXME: The runner's Python version is 3.9, which breaks one some of the type syntax found in the tests # - name: Run Python tests # run: | # source venv/bin/activate # pytest tests/*.py - - name: Run Rust tests - run: | - source venv/bin/activate - cargo test + + # FIXME: Linking with `cc` fails on the runner because it can't find the python3.9 library + # - name: Run Rust tests + # run: | + # source venv/bin/activate + # cargo test -- 2.47.2