Skip to content

Commit f4e10be

Browse files
Refactor Github action workflows (#1907)
This PR simplifies the github action workflows. The tox configuration was removed and where necessary replaced by uv commands. Additionally, nightly/weekly/health checks are removed and their test coverage is now executed on every single PR in the pr_test workflow. PRs will now also go through a merge queue. **CI/CD Workflow Modernization** * Updated GitHub Actions workflows to use the `uv` package manager instead of `tox` for installing dependencies and running documentation builds, making the process faster and more consistent. (`.github/workflows/docs_latest.yml`, `.github/workflows/docs_stable.yml`, `docs/README.md`, [[1]](diffhunk://#diff-2c9c11d26b09b8afde329980309d967121543a456e4592c76886a20b5cf56c90L1-L3) [[2]](diffhunk://#diff-2c9c11d26b09b8afde329980309d967121543a456e4592c76886a20b5cf56c90L13-R16) [[3]](diffhunk://#diff-844e4187f46e808f7df7020885a8a23669e6e65cfca837c81f4abdd1449781edL31-R39) [[4]](diffhunk://#diff-8c82e9b578b937661bce0dcd204f21acd57e7aac7797bbf41274982f691e8af3L31-R38) [[5]](diffhunk://#diff-0b5ca119d2be595aa307d34512d9679e49186307ef94201e4b3dfa079aa89938L4-R7) * Simplified test execution in the PR workflow by merging unit and integration tests into a single step and using `uv` for dependency management. (`.github/workflows/pr_check.yml`, [.github/workflows/pr_check.ymlL71-R63](diffhunk://#diff-420f4a16d0bf9d7626fa0fa302aee0382b72f5fdbf9e55cfcad43a4bbd6dfb9dL71-R63)) * Expanded workflow triggers to include `main` and `release**` branches for PRs, merges, and pushes, making CI coverage more robust. (`.github/workflows/linter.yml`, `.github/workflows/pr_check.yml`, [[1]](diffhunk://#diff-ba16fc050e9c818b8125acc6d33b13f4c427ca91373d286af13d0fc92da90605L2-R15) [[2]](diffhunk://#diff-420f4a16d0bf9d7626fa0fa302aee0382b72f5fdbf9e55cfcad43a4bbd6dfb9dR3-R15) **Removal of Legacy and Unused Files** * Deleted several workflow files related to nightly regression tests, weekly stability tests, health checks, and Microsoft Teams notifications, indicating a shift away from these legacy CI steps. (`.github/workflows/nightly_check.yml`, `.github/workflows/weekly_check.yml`, `.github/workflows/health_check.yml`, `.github/workflows/notify_teams.yml`, [[1]](diffhunk://#diff-18e182faeed9bfe9da47114d8d1e5b5ba8a885320b1d64730565c1fa79c26a8aL1-L72) [[2]](diffhunk://#diff-ba9f78b777607d7d59723e085aff0dbae9ac1ef9af63378da939d1b59c565850L1-L64) [[3]](diffhunk://#diff-bac26813a2033c4d03f4e88f2ffe29044faca4127f5feb9bdf9b4121778f921bL1-L60) [[4]](diffhunk://#diff-7b96a0448208ff4ff4469eb08644836bbfcbbebab69f4632fe45d9b73e98a306L1-L49) * Removed fuzzing test scripts and related assets, suggesting these tests are no longer maintained or required. (`tests/fuzzing/__init__.py`, `tests/fuzzing/cli_fuzzing.py`, `tests/fuzzing/helper.py`, `tests/fuzzing/assets/cli_operations.dict`, [[1]](diffhunk://#diff-48adbbc0cf2f5e5ebce4b883fc903ec94668cbc214de780bbf077f83d8b509d8L1-L3) [[2]](diffhunk://#diff-7dfda8fa44f953c939cb36267613c1cc0522ca6d3d27d94516b4325ec79591daL1-L44) [[3]](diffhunk://#diff-8ce93919d3b3598065f01b58bea74b321f7b4464a2caf19f40504b43a29a5d1aL1-L16) [[4]](diffhunk://#diff-246b8125c745d9a4c6b6bca29e40eb8d3ecea4e04e199d80237a3a036c7d2eb8L1-L16) **Configuration Cleanup** * Removed references to `.tox` in `pyproject.toml` and updated Bandit configuration to exclude `.tox/`, reflecting the migration away from `tox`. [[1]](diffhunk://#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L220) [[2]](diffhunk://#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L263) * Deleted the `tox.ini` file, fully deprecating the use of `tox` for environment management and testing. **Miscellaneous** * Updated the pull request template to reference the correct contributing guide filename. (`.github/pull_request_template.md`, [.github/pull_request_template.mdL3-R3](diffhunk://#diff-b2496e80299b8c3150b1944450bd81c622e04e13d15c411d291db0927d75fd6bL3-R3)) * Removed the Docsy theme submodule, likely indicating a change in documentation theming or structure. (`.gitmodules`, [.gitmodulesL1-L3](diffhunk://#diff-fe7afb5c9c916e521401d3fcfb4277d5071798c3baf83baf11d6071742823584L1-L3)) <!-- Contributing guide: https://github.com/open-edge-platform/datumaro/blob/develop/CONTRIBUTING.md --> <!-- Please add a summary of changes. You may use Copilot to auto-generate the PR description but please consider including any other relevant facts which Copilot may be unaware of (such as design choices and testing procedure). Add references to the relevant issues and pull requests if any like so: Resolves #111 and #222. Depends on #1000 (for series of dependent commits). --> ### Checklist <!-- Put an 'x' in all the boxes that apply --> - [ ] I have added tests to cover my changes or documented any manual tests. - [ ] I have updated the [documentation](https://github.com/open-edge-platform/datumaro/tree/develop/docs) accordingly --------- Signed-off-by: Albert van Houten <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent 0593d3b commit f4e10be

19 files changed

+39
-546
lines changed

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
<!-- Contributing guide: https://github.com/open-edge-platform/datumaro/blob/develop/CONTRIBUTING.md -->
3+
<!-- Contributing guide: https://github.com/open-edge-platform/datumaro/blob/develop/contributing.md -->
44

55
<!--
66
Please add a summary of changes. You may use Copilot to auto-generate the PR description but please consider including any other relevant facts which Copilot may be unaware of (such as design choices and testing procedure).

.github/workflows/docs_latest.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
push:
66
branches:
77
- develop
8+
89
# No permissions by default
910
permissions: {}
1011

@@ -28,11 +29,14 @@ jobs:
2829
python-version: "3.11"
2930
- name: Install dependencies
3031
run: |
31-
python -m pip install tox
32+
python -m pip install uv
3233
sudo apt-get install pandoc graphviz
3334
- name: Build-Docs
3435
run: |
35-
tox -e build-docs
36+
uv pip install -r docs/requirements.txt
37+
cd docs
38+
make clean
39+
make html
3640
- name: Create gh-pages branch
3741
run: |
3842
if [[ ${{github.event_name}} == 'workflow_dispatch' ]]; then

.github/workflows/docs_stable.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,14 @@ jobs:
2828
python-version: "3.11"
2929
- name: Install dependencies
3030
run: |
31-
python -m pip install tox
31+
python -m pip install uv
3232
sudo apt-get install pandoc graphviz
3333
- name: Build-Docs
3434
run: |
35-
tox -e build-docs
35+
uv pip install -r docs/requirements.txt
36+
cd docs
37+
make clean
38+
make html
3639
- name: Create gh-pages branch
3740
env:
3841
TAG_NAME: ${{ github.event.release.tag_name }}

.github/workflows/health_check.yml

Lines changed: 0 additions & 60 deletions
This file was deleted.

.github/workflows/linter.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
name: Linter
2-
on: pull_request
2+
on:
3+
pull_request:
4+
branches:
5+
- develop
6+
- release**
7+
merge_group:
8+
branches:
9+
- develop
10+
- release**
11+
push:
12+
branches:
13+
- develop
14+
- release**
15+
316
# No permissions by default, no specific permissions are required for this workflow
417
permissions: {}
518
jobs:

.github/workflows/nightly_check.yml

Lines changed: 0 additions & 72 deletions
This file was deleted.

.github/workflows/notify_teams.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/pr_check.yml

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
name: PR Test
22
on:
3+
pull_request:
4+
branches:
5+
- develop
6+
- release**
7+
merge_group:
8+
branches:
9+
- develop
10+
- release**
311
push:
412
branches:
5-
- "master"
6-
- "develop"
7-
- "releases/*"
8-
pull_request:
9-
types:
10-
- opened
11-
- synchronize
12-
- reopened
13-
- ready_for_review
13+
- develop
14+
- release**
15+
1416
permissions:
1517
# The id-token permission is required by Codecov to use OIDC
1618
id-token: write
@@ -30,17 +32,6 @@ jobs:
3032
matrix:
3133
os: ["ubuntu-24.04", "windows-2022", "macos-15"]
3234
python-version: ["3.10", "3.13"]
33-
include:
34-
- python-version: "3.10"
35-
tox-env-py: "310"
36-
- python-version: "3.13"
37-
tox-env-py: "313"
38-
- os: "ubuntu-24.04"
39-
tox-env-os: "lin"
40-
- os: "windows-2022"
41-
tox-env-os: "win"
42-
- os: "macos-15"
43-
tox-env-os: "mac"
4435
name: pr test (${{ matrix.os }}, Python ${{ matrix.python-version }})
4536
runs-on: ${{ matrix.os }}
4637
steps:
@@ -68,11 +59,8 @@ jobs:
6859
- name: Installing dependencies
6960
run: uv sync --locked --all-extras --dev
7061

71-
- name: Unit testing
72-
run: uv run pytest tests/unit --cov --cov-report=xml
73-
74-
- name: Integration testing
75-
run: uv run pytest tests/integration
62+
- name: Tests
63+
run: uv run pytest --cov --cov-report=xml
7664

7765
- name: Upload coverage reports to Codecov
7866
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1

.github/workflows/weekly_check.yml

Lines changed: 0 additions & 64 deletions
This file was deleted.

.gitmodules

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)