From dad9f3e40ca098807aa62adf98236d50e04b6d99 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" Date: Mon, 25 Aug 2025 13:00:25 -0500 Subject: [PATCH 1/7] GitHub workflow for testing. --- .github/workflows/test.yml | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..c7a3e7c5 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,43 @@ +name: test + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master ] + pull_request: + branches: [ master ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + prt-test: + runs-on: ubuntu-latest + + container: + image: rpgoldman/popper-prt:latest + + steps: + - name: checkout-popper + uses: actions/checkout@v3 + + - name: install-popper + run: pip install . + + - name: run-prt-tests + run: + cd /popper-prt && prt | tee prt.out + + - name: Upload log + uses: actions/upload-artifact@v4 + with: + name: prt output + path: prt.out + + - name: Upload results + uses: actions/upload-artifact@v4 + with: + name: prt results directories + path: results From f6802eaa5751f523aea0fb9d8aad51d2893d256c Mon Sep 17 00:00:00 2001 From: rpgoldman Date: Mon, 25 Aug 2025 13:10:39 -0500 Subject: [PATCH 2/7] Update test.yml Fix branch name. Was "master"; should have been "main". --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c7a3e7c5..11ccffe7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,9 +4,9 @@ name: test on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ master ] + branches: [ main ] pull_request: - branches: [ master ] + branches: [ main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: From 3d98b083bcb139312a934329d1335282ce78a136 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" Date: Mon, 25 Aug 2025 13:20:49 -0500 Subject: [PATCH 3/7] Force Popper install. Override protections against using pip to install system-wide packages. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 11ccffe7..f3737699 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@v3 - name: install-popper - run: pip install . + run: pip install --break-system-packages . - name: run-prt-tests run: From e35f983ad6007e0d728aee7172437598b386eb47 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" Date: Mon, 25 Aug 2025 14:36:42 -0500 Subject: [PATCH 4/7] Set environment variables for tests. Need to set POPPER_DIR and POPPER_PYTHON. --- .github/workflows/test.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f3737699..8eea08dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,9 +26,12 @@ jobs: - name: install-popper run: pip install --break-system-packages . + - name: configure tests + run: | + echo "POPPER_DIR=${GITHUB_WORKSPACE}\nPOPPER_PYTHON=/usr/bin/python3" >> $GITHUB_ENV + - name: run-prt-tests - run: - cd /popper-prt && prt | tee prt.out + run: cd /popper-prt && prt | tee prt.out - name: Upload log uses: actions/upload-artifact@v4 From 05dfa301f11ad618ef231c6f1a89831e96cc4f08 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" Date: Mon, 25 Aug 2025 18:30:03 -0500 Subject: [PATCH 5/7] Fix artifact saving. --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8eea08dc..cf0ea253 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,10 +37,10 @@ jobs: uses: actions/upload-artifact@v4 with: name: prt output - path: prt.out + path: /popper-prt/prt.out - name: Upload results uses: actions/upload-artifact@v4 with: name: prt results directories - path: results + path: /popper-prt/results From 8e62cec046a748f821ffb6f35146e344ef487ae4 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" Date: Tue, 26 Aug 2025 10:12:27 -0500 Subject: [PATCH 6/7] Always run tasks to save artifacts. Don't skip them if the test fails. --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf0ea253..0d1781e7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,12 +35,14 @@ jobs: - name: Upload log uses: actions/upload-artifact@v4 + if: always() with: name: prt output path: /popper-prt/prt.out - name: Upload results uses: actions/upload-artifact@v4 + if: always() with: name: prt results directories path: /popper-prt/results From e5f749789d200cc092d9a4fc628d48642aba2314 Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" Date: Tue, 26 Aug 2025 17:39:09 -0500 Subject: [PATCH 7/7] Fix the prt step. Because I used "tee" and "tee" sets the exit status to 0 if the tee works, tee was swallowing prt test failures. Removing the use of "tee" from the `run-prt-tests` step. --- .github/workflows/test.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d1781e7..36638199 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,14 +31,9 @@ jobs: echo "POPPER_DIR=${GITHUB_WORKSPACE}\nPOPPER_PYTHON=/usr/bin/python3" >> $GITHUB_ENV - name: run-prt-tests - run: cd /popper-prt && prt | tee prt.out - - - name: Upload log - uses: actions/upload-artifact@v4 - if: always() - with: - name: prt output - path: /popper-prt/prt.out + run: | + cd /popper-prt + prt - name: Upload results uses: actions/upload-artifact@v4