You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Local tests**: Self-hosted Slurm runners on Python 3.10 and 3.13 (coverage enforced, diff-coverage comments for 3.13).
83
84
-**Remote tests**: GitHub-hosted matrix across Windows, Linux, and macOS for Python 3.10–3.13.
84
-
-**Optional suites**: CLI tests, version consistency checks, and submodule validation (non-RC release tags only) can be toggled via inputs.
85
+
-**Optional suites**: CLI tests, version consistency checks, submodule validation (non-RC release tags only), and `tidy3d-extras` integration tests can be toggled via inputs.
86
+
-**Extras integration tests**: When enabled on merge_group, runs basic smoke tests (4 platforms). When called from release workflow, runs full tests (12 platforms).
87
+
-**Test type control**: `test_type` input ("basic" or "full") can override automatic selection for extras integration tests.
85
88
-**Dynamic scope**: Determines which jobs to run based on the event (draft PRs, approvals, merge queue, manual overrides).
86
89
-**Outputs**: `workflow_success` summarizes whether every required job succeeded; the release workflow uses this to decide if deployment can continue.
87
90
@@ -91,17 +94,51 @@ Primary CI workflow; it runs on PRs (`latest`, `develop`, `pre/*`), merge queue
91
94
92
95
Reusable workflow that runs the develop-CLI integration tests. It is usually invoked by the main tests workflow when `cli_tests` is requested but can also be triggered directly.
Dedicated integration test workflow for `tidy3d-extras` package. Tests the optional extras functionality with two test modes: basic (smoke tests) and full (comprehensive coverage).
100
+
101
+
**Test Modes:**
102
+
-**Basic tests** (default for PRs): 4 platforms for fast smoke testing
103
+
- Linux x86_64 (`ubuntu-latest`) - Python 3.10
104
+
- macOS arm64 (`macos-latest`) - Python 3.10
105
+
- Windows x64 (`windows-latest`) - Python 3.10, 3.13
106
+
-**Full tests** (default for releases): 12 platforms covering all build environments
-**Test type control**: `test_type` input ("basic" or "full") determines scope
115
+
-**Automatic selection**: Basic for merge_group (PR merges), full for release workflow
116
+
-**Container testing**: Full mode tests in exact manylinux/musllinux containers used for builds
117
+
-**AWS CodeArtifact integration**: Authenticates with CodeArtifact to access private dependencies
118
+
-**Comprehensive test coverage**: Includes doctests, extras license verification, and full test suite with coverage reporting
119
+
-**Release tag support**: Can test against a specific release tag via the `release_tag` input
120
+
-**Invocation**: Called from `tidy3d-python-client-tests.yml` when `extras_integration_tests` is enabled, or run manually via `workflow_dispatch`
121
+
-**Outputs**: `workflow_success` indicates whether all integration tests passed
122
+
123
+
The workflow ensures that the `tidy3d-extras` package installs and functions correctly across all supported platforms, with full mode catching ABI and platform-specific issues in the exact build environments before releases.
124
+
94
125
## Maintenance Workflows
95
126
96
127
### `tidy3d-python-client-daily.yml`
97
128
98
129
Scheduled at 05:00 UTC and also manually runnable. It fans out to:
-`tidy3d-python-client-release.yml` – runs a daily draft release (`daily-0.0.0`) with client and CLI tests enabled to catch breaking changes early. This validates that the package can be built and tested against the latest develop branch without actually publishing artifacts.
101
132
102
133
### `tidy3d-python-client-update-lockfile.yml`
103
134
104
-
Manual or called workflow that updates `poetry.lock`, authenticates against AWS CodeArtifact, and opens a PR on `develop` with the refreshed lockfile (`daily-chore/update-poetry-lock`). Requires `AWS_CODEARTIFACT_ACCESS_KEY` and `AWS_CODEARTIFACT_ACCESS_SECRET`.
135
+
Manual or called workflow that updates `poetry.lock`, authenticates against AWS CodeArtifact, and opens a PR with the refreshed lockfile. Requires `AWS_CODEARTIFACT_ACCESS_KEY` and `AWS_CODEARTIFACT_ACCESS_SECRET`.
136
+
137
+
**Key inputs:**
138
+
-`source_branch` – branch to checkout and update lockfile for (defaults to `develop`). Useful for updating lockfiles on feature branches or release branches.
139
+
-`run_workflow` – boolean to enable/disable the workflow execution.
140
+
141
+
The workflow creates a PR with branch name `chore/update-poetry-lock-{source_branch}` targeting the specified source branch.
105
142
106
143
## Documentation Workflows
107
144
@@ -212,4 +249,5 @@ Private dependencies are sourced through AWS CodeArtifact:
- Docker development environment: `docs/development/docker.rst` – comprehensive guide for setting up and using the Docker-based development environment
0 commit comments