8249cd2184
* First pass * add tests * Add cancellation * fix * status changes * fixes * test fixes * tests(subscriptions): fix model ingestion tests * feat(modelingestion): rename resource and add some more tests * feat(ifcimport): use new modelingestion api * feat: wrap up new ingestion * fix: model ingestion payload and test server url * fix: test port was 3000 * fix: remove version message from model ingestion success input * fix: test subs cancelled * ci: signal public of private envv in ci --------- Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
101 lines
2.6 KiB
YAML
101 lines
2.6 KiB
YAML
name: "Specklepy test"
|
|
on:
|
|
workflow_call:
|
|
secrets:
|
|
CODECOV_TOKEN:
|
|
required: true
|
|
pull_request:
|
|
branches:
|
|
- "main"
|
|
|
|
jobs:
|
|
test-internal: # Run integration tests against the internal server image
|
|
name: Test (internal)
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version:
|
|
- "3.10"
|
|
- "3.11"
|
|
- "3.12"
|
|
- "3.13"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install uv and set the python version
|
|
uses: astral-sh/setup-uv@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
enable-cache: true
|
|
cache-dependency-glob: "uv.lock"
|
|
|
|
- name: Install the project
|
|
run: uv sync --all-extras --dev
|
|
|
|
- name: Login to GitHub Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: "ghcr.io"
|
|
username: ${{ github.actor }}
|
|
password: ${{ github.token }}
|
|
|
|
- name: Run Speckle Server
|
|
run: docker compose --file docker-compose-internal.yml up --detach --wait
|
|
|
|
- name: Run tests
|
|
run: uv run pytest --cov --cov-report xml:reports/coverage.xml --junitxml=reports/test-results.xml
|
|
|
|
- uses: codecov/codecov-action@v5
|
|
if: matrix.python-version == 3.12
|
|
with:
|
|
fail_ci_if_error: true # optional (default = false)
|
|
files: ./reports/test-results.xml # optional
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
- name: Minimize uv cache
|
|
run: uv cache prune --ci
|
|
|
|
test-public: # Run integration tests against the public server image
|
|
name: Test (public)
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
IS_PUBLIC: "true"
|
|
strategy:
|
|
matrix:
|
|
python-version:
|
|
- "3.10"
|
|
- "3.11"
|
|
- "3.12"
|
|
- "3.13"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install uv and set the python version
|
|
uses: astral-sh/setup-uv@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
enable-cache: true
|
|
cache-dependency-glob: "uv.lock"
|
|
|
|
- name: Install the project
|
|
run: uv sync --all-extras --dev
|
|
|
|
- uses: actions/cache@v3
|
|
with:
|
|
path: ~/.cache/pre-commit/
|
|
key: ${{ hashFiles('.pre-commit-config.yaml') }}
|
|
|
|
- name: Run pre-commit
|
|
run: uv run pre-commit run --all-files
|
|
|
|
- name: Run Speckle Server
|
|
run: docker compose --file docker-compose.yml up --detach --wait
|
|
|
|
- name: Run tests
|
|
run: uv run pytest --cov --cov-report xml:reports/coverage.xml --junitxml=reports/test-results.xml
|
|
|
|
- name: Minimize uv cache
|
|
run: uv cache prune --ci
|