Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix CI (use astral-sh/setup-uv) #91

Merged
merged 11 commits into from
Dec 25, 2024
Merged
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 51 additions & 57 deletions .github/workflows/test_on_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,32 @@ on:
branches:
- main

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

env:
# The "FORCE_COLOR" variable, when set to 1,
# tells Nox to colorize itself.
Saransh-cpp marked this conversation as resolved.
Show resolved Hide resolved
FORCE_COLOR: "1"
Saransh-cpp marked this conversation as resolved.
Show resolved Hide resolved

jobs:
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Set up uv
uses: yezz123/setup-uv@v4
uses: astral-sh/setup-uv@v5
with:
uv-venv: ".venv"
version: "latest"
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"

- name: Check style
run: |
uv pip install pre-commit
pre-commit run -a
uvx pre-commit run -a

template_test:
needs: style
Expand All @@ -41,31 +48,28 @@ jobs:
- name: Checkout pybamm-cookie
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
id: setup-python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Set up uv
uses: yezz123/setup-uv@v4
uses: astral-sh/setup-uv@v5
with:
uv-venv: ".venv"
version: "latest"
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"

- name: Install nox
run: uv pip install nox[uv]
run: uv tool install nox

- name: Set up Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Test template generation
run: nox -s template-tests
run: nox -s template-tests --verbose

- name: Run coverage tests
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
run: nox -s coverage
run: nox -s coverage --verbose

- name: Upload coverage report
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
Expand All @@ -84,26 +88,20 @@ jobs:
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Set up uv
uses: yezz123/setup-uv@v4
uses: astral-sh/setup-uv@v5
with:
uv-venv: ".venv"

- name: Install nox
run: uv pip install nox[uv]
version: "latest"
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"

- name: Set up Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Check if the documentation can be built
run: nox -s docs
run: uvx nox -s docs --verbose

generated_project_tests:
needs: [template_test]
Expand All @@ -122,28 +120,25 @@ jobs:
- name: Checkout pybamm-cookie
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Set up uv
uses: yezz123/setup-uv@v4
uses: astral-sh/setup-uv@v5
with:
uv-venv: ".venv"
version: "latest"
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"

- name: Install copier and jinja2_time
run: uv pip install copier jinja2-time
- name: Install dependencies
run: |
uv pip install copier jinja2_time
uv tool install nox

- name: Generate project
run: |
copier copy . ../ --data project_name=pybamm-${{ matrix.backend }}-${{ matrix.vcs }} --data project_slug=pybamm_${{ matrix.backend }}_${{ matrix.vcs }} --data backend=${{ matrix.backend }} --data vcs=${{ matrix.vcs }} --trust --defaults
- name: Install nox
uses: wntrblm/nox@2024.10.09
run: copier copy . ../ --data project_name=pybamm-${{ matrix.backend }}-${{ matrix.vcs }} --data project_slug=pybamm_${{ matrix.backend }}_${{ matrix.vcs }} --data backend=${{ matrix.backend }} --data vcs=${{ matrix.vcs }} --trust --defaults

- name: Test the generated project
working-directory: ../pybamm-${{ matrix.backend }}-${{ matrix.vcs }}
run: nox -s generated-project-tests
run: nox -s generated-project-tests --verbose

run_generated_project_doctests:
needs: [template_test]
Expand All @@ -155,24 +150,23 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Set up uv
uses: yezz123/setup-uv@v4
uses: astral-sh/setup-uv@v5
with:
uv-venv: ".venv"
version: "latest"
python-version: 3.12
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"

- name: Install nox
uses: wntrblm/nox@2024.10.09
- name: Install dependencies
run: |
uv pip install copier jinja2_time
Saransh-cpp marked this conversation as resolved.
Show resolved Hide resolved
uv tool install nox
Saransh-cpp marked this conversation as resolved.
Show resolved Hide resolved

- name: Install copier and jinja2_time and generate a template with default values
run: |
uv pip install copier jinja2-time
copier copy . . --trust --defaults
run: copier copy . . --trust --defaults

- name: Set up Git
run: |
Expand All @@ -184,4 +178,4 @@ jobs:
run: |
git add .
git commit -am "initial commit"
nox -s docs
nox -s docs --verbose
Saransh-cpp marked this conversation as resolved.
Show resolved Hide resolved
Loading