Skip to content

Commit 9be8405

Browse files
committed
update github workflows
Signed-off-by: Thijs Baaijen <[email protected]>
1 parent 6f6167d commit 9be8405

File tree

4 files changed

+68
-51
lines changed

4 files changed

+68
-51
lines changed

.github/workflows/build-test-release.yml

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ on:
1414
description: Create a (pre-)release when CI passes
1515
default: false
1616
required: false
17+
update_dependencies:
18+
type: boolean
19+
description: Update dependencies to their latest version
20+
default: false
21+
required: false
1722
outputs:
1823
tag:
1924
description: "The created release tag"
@@ -31,33 +36,41 @@ jobs:
3136
steps:
3237

3338
- name: Checkout source code
34-
uses: actions/checkout@v4
39+
uses: actions/checkout@v5
3540

36-
- name: Setup Python 3.13
37-
uses: actions/setup-python@v5
41+
- name: Install uv
42+
uses: astral-sh/setup-uv@v6
43+
if: ${{ always() }}
3844
with:
39-
python-version: "3.13"
45+
activate-environment: true
46+
enable-cache: true
47+
48+
- name: Install dependencies
49+
if: ${{ always() }}
50+
run: uv sync
51+
52+
- name: Update dependencies
53+
if: ${{ inputs.update_dependencies }}
54+
run: uv update
4055

4156
- name: Set PyPI version
4257
uses: PowerGridModel/pgm-version-bump@main
4358
with:
4459
token: ${{ secrets.GITHUB_TOKEN }}
4560

46-
- name: Build
47-
run: |
48-
cat PYPI_VERSION
49-
pip install build
50-
python -m build --outdir wheelhouse .
51-
5261
- name: Save version
5362
id: version
5463
run: echo "version=$(cat PYPI_VERSION)" >> $GITHUB_OUTPUT
5564

65+
- name: Build
66+
run: |
67+
uv build
68+
5669
- name: Store built wheel file
5770
uses: actions/upload-artifact@v4
5871
with:
5972
name: power-grid-model-ds
60-
path: wheelhouse/
73+
path: dist/
6174

6275
tests:
6376
needs: build-python
@@ -70,26 +83,33 @@ jobs:
7083

7184
steps:
7285
- name: Checkout source code
73-
uses: actions/checkout@v4
86+
uses: actions/checkout@v5
7487

75-
- name: Setup Python ${{ matrix.python }}
76-
uses: actions/setup-python@v5
88+
- name: Install uv
89+
uses: astral-sh/setup-uv@v6
90+
if: ${{ always() }}
7791
with:
78-
python-version: ${{ matrix.python }}
92+
activate-environment: true
93+
enable-cache: true
94+
95+
- name: install poe
96+
run: uv tool install poethepoet
7997

8098
- name: Load built wheel file
8199
uses: actions/download-artifact@v4
82100
with:
83101
name: power-grid-model-ds
84-
path: wheelhouse/
102+
path: dist/
85103

86104
- name: Install built wheel file
87-
run: pip install power-grid-model-ds[dev]==${{ needs.build-python.outputs.version }} --find-links=wheelhouse
105+
run: uv pip install power-grid-model-ds[dev]==${{ needs.build-python.outputs.version }} --find-links=dist
88106

89-
- name: Unit test and coverage
90-
run: pytest --verbose
107+
- name: Run Code Quality Checks & Tests
108+
run: poe all --check
109+
91110

92111
github-release:
112+
if: ${{ inputs.create_release == 'true' }}
93113
needs:
94114
- build-python
95115
- tests
@@ -99,19 +119,14 @@ jobs:
99119
outputs:
100120
tag: ${{ steps.tag.outputs.tag }}
101121
steps:
102-
- name: Setup Python 3.13
103-
uses: actions/setup-python@v5
104-
with:
105-
python-version: "3.13"
106-
107122
- name: Checkout source code
108-
uses: actions/checkout@v4 # needed by 'Prevent automatic major/minor release'
123+
uses: actions/checkout@v5
109124

110125
- name: Load built wheel file
111126
uses: actions/download-artifact@v4
112127
with:
113128
name: power-grid-model-ds
114-
path: wheelhouse/
129+
path: dist/
115130

116131
- name: Prevent automatic major/minor release
117132
if: (github.event_name == 'push')
@@ -143,7 +158,7 @@ jobs:
143158
uses: softprops/action-gh-release@v2
144159
with:
145160
files: |
146-
./wheelhouse/*
161+
./dist/*
147162
tag_name: ${{ steps.tag.outputs.tag }}
148163
prerelease: ${{github.ref != 'refs/heads/main'}}
149164
generate_release_notes: true

.github/workflows/check-code-quality.yml

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ name: Check Code Quality
88
on:
99
# run pipeline from another workflow
1010
workflow_call:
11+
inputs:
12+
update_dependencies:
13+
type: boolean
14+
description: Update dependencies to their latest version
15+
default: false
16+
required: false
1117

1218
concurrency:
1319
group: ${{ github.workflow }}-${{ github.ref }}-code-quality
@@ -18,19 +24,26 @@ jobs:
1824
runs-on: ubuntu-latest
1925

2026
steps:
21-
- name: Checkout
22-
uses: actions/checkout@v4
27+
- name: Checkout source code
28+
uses: actions/checkout@v5
2329

24-
- name: Set up Python
25-
uses: actions/setup-python@v5
30+
- name: Install uv
31+
uses: astral-sh/setup-uv@v6
32+
if: ${{ always() }}
2633
with:
27-
python-version: 3.11
34+
activate-environment: true
35+
enable-cache: true
2836

29-
- name: Upgrade pip
30-
run: pip install --upgrade pip
37+
- name: install poe
38+
run: uv tool install poethepoet
3139

3240
- name: Install dependencies
33-
run: pip install -e .[dev]
34-
35-
- name: Run pre-commit on all files
36-
run: pre-commit run --all-files
41+
if: ${{ always() }}
42+
run: uv sync --dev
43+
44+
- name: Update dependencies
45+
if: ${{ inputs.update_dependencies }}
46+
run: uv update
47+
48+
- name: Run Code Quality Checks & Tests
49+
run: poe all --check

.github/workflows/citations.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,5 @@ jobs:
3131
steps:
3232
- name: checkout
3333
uses: actions/checkout@v4
34-
- name: Install R
35-
run: |
36-
sudo apt-get update && sudo apt-get install -y r-base
3734
- name: Validate CITATION.cff
3835
uses: dieghernan/cff-validator@v4

.github/workflows/nightly.yml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,7 @@ concurrency:
1515
cancel-in-progress: true
1616

1717
jobs:
18-
build-test-release:
19-
uses: "./.github/workflows/build-test-release.yml"
20-
permissions:
21-
contents: write
22-
with:
23-
create_release: false
24-
2518
check-code-quality:
2619
uses: "./.github/workflows/check-code-quality.yml"
27-
28-
reuse-compliance:
29-
uses: "./.github/workflows/reuse-compliance.yml"
20+
with:
21+
update_dependencies: true

0 commit comments

Comments
 (0)