Skip to content

Merge pull request #340 from Point72/dependabot/github_actions/action… #681

Merge pull request #340 from Point72/dependabot/github_actions/action…

Merge pull request #340 from Point72/dependabot/github_actions/action… #681

Workflow file for this run

name: Build Status
on:
push:
branches:
- main
- v3
tags:
- v*
paths-ignore:
- LICENSE
- README.md
pull_request:
branches:
- main
- v3
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: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.11", "3.14"]
node-version: [22.x]
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Python
uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
version: ${{ matrix.python-version }}
- name: Setup Node.js
uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f
with:
version: ${{ matrix.node-version }}
- name: Install dependencies
run: make develop
- name: Lint
run: make lint
if: matrix.os == 'ubuntu-latest'
- name: Checks
run: make checks
if: matrix.os == 'ubuntu-latest'
- name: Build
run: make build
- name: Test
run: make coverage
if: matrix.os == 'ubuntu-latest'
- name: Upload test results
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.node-version }}
path: '**/junit.xml'
if: ${{ always() }}
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
with:
files: '**/junit.xml'
if: matrix.os == 'ubuntu-latest'
- name: Upload coverage
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Build distributions
run: make dist
if: matrix.os == 'ubuntu-latest'
- name: Test wheel
uses: actions-ext/python/test-wheel@1151b211cbac1137879fd28605e82a9f4511e0db
with:
module: csp_gateway
if: matrix.os == 'ubuntu-latest'
- name: Test source distribution
uses: actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
module: csp_gateway
if: matrix.os == 'ubuntu-latest'
- name: Upload distributions
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dist
path: dist
if: matrix.os == 'ubuntu-latest'
test:
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.11"]
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Python
uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
version: ${{ matrix.python-version }}
- name: Setup Node.js
uses: actions-ext/node/setup@0ea5bdcd24d2488b28e16bf611b446a2f8e1e12f
with:
version: 22.x
- name: Install JS dependencies
run: make develop-js
- name: Download wheels
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: dist
- name: Install wheels
run: uv pip install `ls csp_gateway-*.whl`[develop] --target .
- name: Test
run: make coverage
- name: Upload test results (Python)
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
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@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
with:
files: junit.xml
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
- name: Upload coverage
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
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:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Python
uses: actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
with:
version: 3.11
- name: Download wheels
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
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'