Skip to content

Merge pull request #226 from Point72/copier-update-2026-02-22T19-00-17 #361

Merge pull request #226 from Point72/copier-update-2026-02-22T19-00-17

Merge pull request #226 from Point72/copier-update-2026-02-22T19-00-17 #361

Workflow file for this run

name: Build Status
on:
push:
branches:
- main
tags:
- v*
paths-ignore:
- LICENSE
- README.md
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
checks: write
pull-requests: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions-ext/python/setup@main
with:
version: 3.11
- name: Set up NodeJS
uses: actions-ext/node/setup@main
with:
version: 22.x
- name: Install dependencies
run: make develop
- name: Lint
run: make lint
- name: Checks
run: make checks
- name: Build
run: make build
- name: Make dist
run: make dist
- uses: actions/upload-artifact@v6
with:
name: dist
path: dist
test:
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11"]
exclude:
# No CSP builds for python 3.9 / macos arm64
- python-version: "3.9"
os: macos-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions-ext/python/setup@main
with:
version: 3.11
- name: Set up NodeJS
uses: actions-ext/node/setup@main
- name: Install JS dependencies
run: make develop-js
- name: Download wheels
uses: actions/download-artifact@v7
with:
name: dist
- name: Install wheels
run: uv pip install `ls csp_gateway-*.whl`[develop]
- name: Test
run: make coverage
- name: Upload test results (Python)
uses: actions/upload-artifact@v6
with:
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}
path: '**/junit.xml'
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: '**/junit.xml'
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
- name: Upload coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
import:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
wheel: ["", "client"]
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions-ext/python/setup@main
with:
version: 3.11
- name: Download wheels
uses: actions/download-artifact@v7
with:
name: dist
- name: Install wheels
run: uv pip install `ls csp_gateway_${{ matrix.wheel }}-*.whl`
if: matrix.wheel != ''
- name: Install wheels
run: uv pip install `ls csp_gateway-*.whl`
if: matrix.wheel == ''
- name: Import Client
run: python -c "import csp_gateway.client"
- name: Import Utils
run: |
python -c "import csp_gateway.utils"
python -c "import csp_gateway.utils.enums"
python -c "import csp_gateway.utils.exceptions"
python -c "import csp_gateway.utils.picklable_queue"
python -c "import csp_gateway.utils.web.filter"
python -c "import csp_gateway.utils.web.query"
- name: Import Server
run: python -c "import csp_gateway.server"
if: matrix.wheel != 'client'
- name: Import Utils
run: |
python -c "import csp_gateway.utils"
python -c "import csp_gateway.utils.csp"
python -c "import csp_gateway.utils.fastapi"
python -c "import csp_gateway.utils.id_generator"
python -c "import csp_gateway.utils.struct"
python -c "import csp_gateway.utils.web.controls"
if: matrix.wheel != 'client'