Skip to content

Commit 8a9b724

Browse files
SvenSerneelsclaude
andcommitted
fix CI/CD workflows for modern GitHub Actions
- Update actions/checkout to v4 - Update conda-incubator/setup-miniconda to v3 - Update Python versions to 3.9, 3.10, 3.11, 3.12 - Remove deprecated libgcc and libstdcxx-ng packages - Fix shell configuration for proper conda activation - Use python -m build instead of setup.py Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 3fc55c9 commit 8a9b724

2 files changed

Lines changed: 24 additions & 36 deletions

File tree

.github/workflows/python-package.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,43 @@ jobs:
1010
build:
1111
runs-on: ubuntu-latest
1212
strategy:
13+
fail-fast: false
1314
matrix:
14-
python-version: [3.8, "3.10", "3.11"]
15+
python-version: ["3.9", "3.10", "3.11", "3.12"]
16+
17+
defaults:
18+
run:
19+
shell: bash -el {0}
1520

1621
steps:
17-
- uses: actions/checkout@v2
22+
- uses: actions/checkout@v4
1823

1924
- name: Set up Python ${{ matrix.python-version }}
20-
uses: conda-incubator/setup-miniconda@v2
25+
uses: conda-incubator/setup-miniconda@v3
2126
with:
2227
auto-update-conda: true
2328
python-version: ${{ matrix.python-version }}
2429
activate-environment: testenv
25-
environment-file: ""
2630
auto-activate-base: false
2731

2832
- name: Install dependencies
29-
shell: bash -l {0}
3033
run: |
31-
conda install -y -c conda-forge \
32-
libstdcxx-ng libgcc=5.2.0 scikit-learn pandas numpy statsmodels dcor sympy matplotlib cyipopt flake8 pytest
33-
# Optionally, install extra pip dependencies here, e.g.:
34-
# pip install -r requirements.txt
34+
conda install -y -c conda-forge scikit-learn pandas numpy statsmodels dcor sympy matplotlib cyipopt flake8 pytest
3535
3636
- name: Conda info
37-
shell: bash -l {0}
3837
run: conda info
3938

4039
- name: Conda list
41-
shell: bash -l {0}
4240
run: conda list
4341

42+
- name: Install package
43+
run: |
44+
pip install -e .
45+
4446
- name: Lint with flake8
45-
shell: bash -l {0}
4647
run: |
4748
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
4849
flake8 . --count --exit-zero --max-complexity=15 --max-line-length=127 --statistics
4950
5051
- name: Test with pytest
51-
shell: bash -l {0}
5252
run: pytest
Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This workflows will upload a Python Package using Twine when a release is created
1+
# This workflow will upload a Python Package using Twine when a release is created
22
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
33

44
name: Upload Python Package
@@ -24,53 +24,41 @@ on:
2424
description: "The version portion to increment"
2525
required: true
2626
type: string
27-
push:
28-
branches:
29-
- master
30-
paths-ignore:
31-
- '.github/**'
32-
- 'README.md'
33-
- '.gitignore'
34-
- 'CHANGELOG.md'
35-
pull_request:
36-
branches:
37-
- master
3827

3928
jobs:
4029
deploy:
4130
runs-on: ubuntu-latest
4231

32+
defaults:
33+
run:
34+
shell: bash -el {0}
35+
4336
steps:
44-
- uses: actions/checkout@v3
37+
- uses: actions/checkout@v4
4538

4639
- name: Set up Python
47-
uses: conda-incubator/setup-miniconda@v2
40+
uses: conda-incubator/setup-miniconda@v3
4841
with:
4942
auto-update-conda: true
50-
python-version: 3.9
43+
python-version: "3.11"
5144
activate-environment: pubenv
52-
environment-file: ""
5345
auto-activate-base: false
5446

5547
- name: Install dependencies
56-
shell: bash -l {0}
5748
run: |
58-
conda install -y -c conda-forge \
59-
libstdcxx-ng libgcc=5.2.0 scikit-learn pandas numpy statsmodels dcor sympy matplotlib cyipopt setuptools wheel twine
49+
conda install -y -c conda-forge scikit-learn pandas numpy statsmodels dcor sympy matplotlib cyipopt
6050
6151
- name: Conda info
62-
shell: bash -l {0}
6352
run: conda info
6453

6554
- name: Conda list
66-
shell: bash -l {0}
6755
run: conda list
6856

6957
- name: Build and publish
70-
shell: bash -l {0}
7158
env:
7259
TWINE_USERNAME: ${{ secrets.PYPIUID }}
7360
TWINE_PASSWORD: ${{ secrets.PYPIPWD }}
7461
run: |
75-
python setup.py sdist bdist_wheel
62+
pip install build twine
63+
python -m build
7664
twine upload dist/*

0 commit comments

Comments
 (0)