fastai / nbdev

Create delightful software with Jupyter Notebooks
https://nbdev.fast.ai/
Apache License 2.0
4.8k stars 484 forks source link

Missing 2.3.12 tag #1339

Open ori155 opened 1 year ago

ori155 commented 1 year ago

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

  1. I can work around it by specifying the specific hash of version 2.3.12 (which should probably be 744a52d).

  2. An easy fix would be to tag this commit as 2.3.12.

  3. 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.

ori155 commented 1 year ago

Miss labeled as bug 😅 And it seems that I can not change it. Sorry about that.