Skip to content

Remove examples from default CI for speedup - #359

Merged
FBumann merged 1 commit into
mainfrom
feature/CI-speedup
Sep 27, 2025
Merged

Remove examples from default CI for speedup#359
FBumann merged 1 commit into
mainfrom
feature/CI-speedup

Conversation

@FBumann

@FBumannFBumann commented Sep 27, 2025

Copy link
Copy Markdown
Member

Description

Adds a new GitHub Actions job (test-examples) to run example tests on tag releases, updates job dependencies to include this job, introduces pytest markers/config (including skipping examples by default), adds pytest-xdist as a dev dependency, and retags example test from slow to examples.

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Code refactoring

Related Issues

Closes #(issue number)

Testing

  • I have tested my changes
  • Existing tests still pass

Checklist

  • My code follows the project style
  • I have updated documentation if needed
  • I have added tests for new functionality (if applicable)

Summary by CodeRabbit

  • Tests
    • Added example test suite to run on tagged releases for stronger validation.
    • Introduced test markers (e.g., examples, slow) and default settings to skip example tests in routine runs.
  • Chores
    • Streamlined CI setup by using standard dev dependency installation.
    • Updated workflow dependencies so publishing and release steps wait for example tests.
    • Improved release pipeline reliability without changing runtime behavior.

@coderabbitai

coderabbitaiBot commented Sep 27, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds a new GitHub Actions job (test-examples) to run example tests on tag releases, updates job dependencies to include this job, introduces pytest markers/config (including skipping examples by default), adds pytest-xdist as a dev dependency, and retags an example test from slow to examples.

Changes

Cohort / File(s)Summary of Changes
CI workflow updates
.github/workflows/python-app.yaml
Added test-examples job (runs on tag releases, needs lint). Switched test job to install generic dev dependencies (removed pinned pytest-xdist constraint). Updated needs: publish-testpypi now depends on test, test-examples, create-release; create-release now depends on lint, test, test-examples, security.
Pytest config and dev deps
pyproject.toml
Added dev dependency pytest-xdist. Introduced [tool.pytest.ini_options] with markers (slow, examples) and default addopts to skip example tests by default.
Test markers
tests/test_examples.py
Changed test marker from slow to examples for test_example_scripts; no logic changes.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Dev as Tag Push
participant GH as GitHub Actions
participant L as lint
participant S as security
participant T as test
participant TE as test-examples
participant CR as create-release
participant PTP as publish-testpypi
Dev->>GH: Tag created
GH->>L: Run lint
GH->>S: Run security
GH->>T: Run test
Note over TE: New job<br/>Runs only on tag releases
L-->>TE: needs: lint
GH->>TE: Run test-examples
par Job dependencies
L-->>CR: needs: lint
T-->>CR: needs: test
TE-->>CR: needs: test-examples
S-->>CR: needs: security
end
CR->>CR: Create release
par Publish gating
T-->>PTP: needs: test
TE-->>PTP: needs: test-examples
CR-->>PTP: needs: create-release
end
PTP->>PTP: Publish to TestPyPI
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I twitched my whiskers at the tag-night sky,
New tests hop in where examples lie.
Markers shuffle, configs align,
Workflows queue in a tidy line.
With xdist sprinting, I thump in cheer—
Release bells ring; TestPyPI draws near. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Title Check✅ PassedThe title succinctly captures the main change by stating that example tests are removed from the default CI to improve speed, which matches the core update described in the changeset.
Docstring Coverage✅ PassedDocstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Description Check✅ PassedThe PR description maps precisely to the repository’s descriptor template with each section present and formatted correctly, including the Description, Type of Change, Related Issues, Testing, and Checklist sections.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/CI-speedup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@FBumannFBumann changed the title Remove examples drom default CI for speedupRemove examples from default CI for speedupSep 27, 2025
@FBumann
FBumann merged commit 6452f28 into mainSep 27, 2025
12 checks passed
@FBumann
FBumann deleted the feature/CI-speedup branch September 27, 2025 08:48
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@FBumann