Skip to content

Commit 93bc522

Browse files
gonzalocasasclaude
andcommitted
ci: refresh workflows for MkDocs migration and two-stack integration tests
build.yml — widen pre-merge coverage: - matrix now {ubuntu, macos, windows} × {3.9, 3.13} instead of ubuntu × 3.11. 3.9 and 3.13 are the bookend versions declared in pyproject.toml; the release workflow continues to exercise the full 3.9-3.13 range at tag time. - drops stale `wip_process` branch trigger. - adds `fail-fast: false` so one OS / Python failure doesn't mask others. integration.yml — actually run the integration tests: - bumps `actions/checkout` v2 → v5 and `actions/setup-python` v2 → v5. - brings up both the ROS 1 and the new ROS 2 test stacks (default ports 9090 / 9091, set by their compose files). - sets `COMPAS_FAB_RUN_ROS_INTEGRATION_TESTS=1` so the `ros1_client` / `ros2_client` fixtures actually connect instead of silently skipping the suite — without this, CI was reporting green while running zero integration assertions. - replaces `pytest --doctest-modules` + `pytest docs` with just `pytest --doctest-modules`; the second invocation was a leftover from the Sphinx era and produces nothing useful against the new Markdown docs tree. - tears down both stacks unconditionally (`if: always()`). - drops stale `wip_process` branch trigger. docs.yml — wire the action up for MkDocs: - bumps `compas-dev/compas-actions.docs` v3 → v5; the v5 release added a `generator` input so the same action can deploy MkDocs sites in addition to the original Sphinx flow. - passes `generator: mkdocs` so it picks the right code path for our `invoke docs` build. pr-checks.yml — bump `actions/checkout` v1 → v5. release.yml and publish_yak.yml are unchanged (already current). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 8db7101 commit 93bc522

4 files changed

Lines changed: 36 additions & 20 deletions

File tree

.github/workflows/build.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- wip_process
87
pull_request:
98
branches:
109
- main
@@ -14,9 +13,12 @@ jobs:
1413
if: "!contains(github.event.pull_request.labels.*.name, 'docs-only')"
1514
runs-on: ${{ matrix.os }}
1615
strategy:
16+
fail-fast: false
1717
matrix:
18-
os: [ubuntu-latest]
19-
python: ['3.11']
18+
os: [ubuntu-latest, macos-latest, windows-latest]
19+
# Bookend Python versions declared in `pyproject.toml` classifiers.
20+
# The release workflow exercises the full 3.9-3.13 matrix at tag time.
21+
python: ['3.9', '3.13']
2022

2123
steps:
2224
- uses: compas-dev/compas-actions.build@v3

.github/workflows/docs.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ jobs:
1515
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || (github.event_name == 'pull_request_review' && github.event.review.state == 'approved')
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: compas-dev/compas-actions.docs@v3
18+
- uses: compas-dev/compas-actions.docs@v5
1919
with:
2020
github_token: ${{ secrets.GITHUB_TOKEN }}
2121
doc_url: https://compas.dev/compas_fab
22+
# Site is built with MkDocs (via `invoke docs`); `v5` of the action
23+
# added the `generator` switch so it can deploy MkDocs sites in
24+
# addition to the original Sphinx flow.
25+
generator: mkdocs

.github/workflows/integration.yml

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,47 @@ on:
44
push:
55
branches:
66
- main
7-
- wip_process
87
pull_request:
98
branches:
109
- main
1110
- LTS-main-1.x
1211

1312
jobs:
1413
build:
15-
name: ubuntu-py311-integration
14+
name: ubuntu-py39-integration
1615
runs-on: ubuntu-latest
1716
steps:
18-
- uses: actions/checkout@v2
19-
- name: Set up Python 3.11
20-
uses: actions/setup-python@v2
17+
- uses: actions/checkout@v5
18+
- name: Set up Python 3.9
19+
uses: actions/setup-python@v5
2120
with:
22-
python-version: '3.11'
23-
- name: Set up docker containers
21+
python-version: '3.9'
22+
23+
- name: Bring up both ROS stacks
24+
# Defaults: ROS 1 rosbridge on 9090, ROS 2 rosbridge on 9091, ROS 2
25+
# HTTP assets on 9092. See `tests/integration_setup/README.md`.
2426
run: |
25-
docker compose -f "tests/integration_setup/docker-compose.yml" up -d --build
27+
docker compose -f tests/integration_setup/docker-compose.yml up -d --build
28+
docker compose -f tests/integration_setup/docker-compose-ros2.yml up -d --build
2629
docker ps -a
30+
2731
- name: Install dependencies
2832
run: |
29-
python -m pip install --upgrade pip
30-
python -m pip install wheel
31-
- name: Install
32-
run: |
33+
python -m pip install --upgrade pip wheel
3334
python -m pip install --no-cache-dir -r requirements-dev.txt
34-
- name: Run integration tests
35+
36+
- name: Run tests + doctests
37+
# `COMPAS_FAB_RUN_ROS_INTEGRATION_TESTS=1` opts the `ros1_client` /
38+
# `ros2_client` fixtures into actually connecting (otherwise every
39+
# integration test is skipped). `--doctest-modules` picks up
40+
# doctests embedded in `src/compas_fab/` modules.
41+
env:
42+
COMPAS_FAB_RUN_ROS_INTEGRATION_TESTS: "1"
3543
run: |
3644
pytest --doctest-modules
37-
pytest docs
45+
3846
- name: Tear down docker containers
47+
if: always()
3948
run: |
40-
docker compose -f "tests/integration_setup/docker-compose.yml" down
49+
docker compose -f tests/integration_setup/docker-compose.yml down
50+
docker compose -f tests/integration_setup/docker-compose-ros2.yml down

.github/workflows/pr-checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
name: Check Actions
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v1
14+
- uses: actions/checkout@v5
1515
- name: Changelog check
1616
uses: Zomzog/changelog-checker@v1.1.0
1717
with:

0 commit comments

Comments
 (0)