The package published to pypi is versioned 2.3.12, while the latest tag in this repo is 2.3.11.
This makes pre-commit and the nbdev-ci workflow use different versions.
Provide a minimally reproducible example
Using the pre-commit tool with pre-commit-config.yaml:
repos:
- repo: https://github.com/fastai/nbdev
rev: 2.3.11
hooks:
- id: nbdev_clean
and .github/workflows/test.yaml:
name: CI
on: [workflow_dispatch, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0
test:
runs-on: ubuntu-latest
steps:
- uses: fastai/workflows/nbdev-ci@master
The lint job succeeds and the test job fails on the initial 00_core.ipynb.
This is because that the nbdev_clean command cleans the initial notebook in 2.3.12 (which is used by the CI as it is published to pypi) while in 2.3.11 (which is the latest tag in this repo) it doesn't clean.
The nbdev-ci git action installs the latest from pypi, while pre-commit installs from github, and so the versions differ.
This is confirmed by installing the specific versions and running nbdev_clean:
pip install nbdev=2.3.12
nbdev_clean
git status
# files will change
pip install nbdev=2.3.11
nbdev_clean
git status
# No files will change
Proposed fixes
-
I can work around it by specifying the specific hash of version 2.3.12 (which should probably be 744a52d).
-
An easy fix would be to tag this commit as 2.3.12.
-
A more permanent solution will be to enable version pining in the ci workflow, I might create a pull request for that in the coming days.
The package published to pypi is versioned
2.3.12, while the latest tag in this repo is2.3.11.This makes
pre-commitand the nbdev-ci workflow use different versions.Provide a minimally reproducible example
Using the
pre-committool withpre-commit-config.yaml:and
.github/workflows/test.yaml:The
lintjob succeeds and thetestjob fails on the initial00_core.ipynb.This is because that the
nbdev_cleancommand cleans the initial notebook in2.3.12(which is used by the CI as it is published to pypi) while in2.3.11(which is the latest tag in this repo) it doesn't clean.The nbdev-ci git action installs the latest from pypi, while
pre-commitinstalls from github, and so the versions differ.This is confirmed by installing the specific versions and running
nbdev_clean:pip install nbdev=2.3.12 nbdev_clean git status # files will changepip install nbdev=2.3.11 nbdev_clean git status # No files will changeProposed fixes
I can work around it by specifying the specific hash of version
2.3.12(which should probably be 744a52d).An easy fix would be to tag this commit as
2.3.12.A more permanent solution will be to enable version pining in the ci workflow, I might create a pull request for that in the coming days.