44 push :
55 branches : [ "main" ]
66 paths : # Optional: Trigger only on changes within jacspy/ or relevant files
7- - ' JACS/ jacspy/**'
8- - ' JACS/ jacs/**' # jacspy depends on jacs
7+ - ' jacspy/**'
8+ - ' jacs/**' # jacspy depends on jacs
99 - ' .github/workflows/python.yml'
1010 pull_request :
1111 branches : [ "main" ]
1212 paths : # Optional: Trigger only on changes within jacspy/ or relevant files
13- - ' JACS/ jacspy/**'
14- - ' JACS/ jacs/**' # jacspy depends on jacs
13+ - ' jacspy/**'
14+ - ' jacs/**' # jacspy depends on jacs
1515 - ' .github/workflows/python.yml'
1616 workflow_dispatch : # Allows manual triggering
1717
@@ -22,15 +22,31 @@ jobs:
2222 # Job to run tests on every push/PR
2323 test-jacspy :
2424 name : Test jacspy crate
25- runs-on : ubuntu-latest
25+ runs-on : ubuntu-latest # Docker is available on ubuntu-latest runners
2626
2727 steps :
2828 - name : Checkout code
2929 uses : actions/checkout@v4
3030
31- - name : Run jacspy tests
31+ - name : Set up Docker Buildx
32+ uses : docker/setup-buildx-action@v3
33+
34+ - name : Build Docker image for testing
3235 working-directory : jacspy
33- run : cargo test --verbose
36+ run : docker buildx build --tag "jacs-build-manylinux" -f Dockerfile .
37+
38+ - name : Run jacspy tests in Docker
39+ working-directory : JACS/jacspy # To match the PWD context of your Makefile
40+ env :
41+ RUST_BACKTRACE : " 1" # For more detailed Rust error messages
42+ # This replicates the volume mount and command structure from your Makefile:
43+ # $(pwd) will be JACS/jacspy, so $(pwd)/.. will be JACS (the project root relative to GITHUB_WORKSPACE/JACS)
44+ # This mounts the JACS directory into /workspace in the container.
45+ run : |
46+ docker run --rm \
47+ -v "$(pwd)/..:/workspace" \
48+ jacs-build-manylinux \
49+ bash -c "cd /workspace/jacspy && cargo test --verbose"
3450
3551 # Job to build wheels, runs ONLY on push to main
3652 build-jacspy-wheels :
0 commit comments