Skip to content

Replace poetry with setuptools and nox#2353

Merged
LiliDeng merged 6 commits into
microsoft:mainfrom
avylove:poetrilectomy
Nov 15, 2022
Merged

Replace poetry with setuptools and nox#2353
LiliDeng merged 6 commits into
microsoft:mainfrom
avylove:poetrilectomy

Conversation

@avylove
Copy link
Copy Markdown
Contributor

@avylove avylove commented Oct 28, 2022

Move to a more standard install by using setuptools for package builds and Nox for isolating testing. This has the advantage of being more aligned with standards, moves closer to a publishable Python package, isolates different linting and checking activities, and consolidates dependencies.

LISA can now be installed as a regular Python package and installs a lisa command, but still needs to run in the repo root because the microsoft and example directories can't be packages as is.

Checks were also separated out so there is more parallelization and in GitHub Actions and it's easier to see what failed. 3.11 is added and currently fails, but marked as continue-on-error.

Next steps will include:

  • Moving examples and microsoft so they can be installed with LISA
  • Unpin dependencies
  • Update internal repo to leverage changes
  • Fix code for 3.11

Comment thread lisa/sut_orchestrator/libvirt/platform.py
Comment thread MANIFEST.in
@squirrelsc
Copy link
Copy Markdown
Contributor

  • Unpin dependencies

I thought it again, it may bring negative impact on stability on released LISA versions. Imaging someone not to upgrade LISA, the LISA should run succeed as before. If some package brings breaking change, it forces users to upgrade to latest LISA, and bring big interrupts.

Comment thread noxfile.py Outdated
Comment thread pyproject.toml
Comment thread pyproject.toml
Comment thread docs/Makefile Outdated
Comment thread noxfile.py
@squirrelsc
Copy link
Copy Markdown
Contributor

It's a big change, we need to rebase to main. So make every commit is meaningful.

Comment thread docs/tools/test_spec_gen.py
Comment thread docs/installation_linux.rst Outdated
Comment thread .github/workflows/continuous-integration-workflow.yml Outdated
@squirrelsc
Copy link
Copy Markdown
Contributor

@LiliDeng the change looks good to me now. It's a big change on pipelines and dev env experience. Please have a try, and let me know, if there is any concern. If everything is ok, we can merge it in next Monday or Tuesday.

@avylove
Copy link
Copy Markdown
Contributor Author

avylove commented Nov 2, 2022

  • Unpin dependencies

I thought it again, it may bring negative impact on stability on released LISA versions. Imaging someone not to upgrade LISA, the LISA should run succeed as before. If some package brings breaking change, it forces users to upgrade to latest LISA, and bring big interrupts.

We can look at it in a follow-up PR, but best practice is to pin dependencies as little as possible. Pinning dependencies moves the contract of trust from the individual projects to us. For well-maintained projects, we really don't need to pin anything. For less stable projects we can likely reduce the places in the version number we care about, =~1.2 vs ~=1.2.3. Regardless, we can discuss further in a follow-up PR.

@avylove
Copy link
Copy Markdown
Contributor Author

avylove commented Nov 2, 2022

@LiliDeng the change looks good to me now. It's a big change on pipelines and dev env experience. Please have a try, and let me know, if there is any concern. If everything is ok, we can merge it in next Monday or Tuesday.

Thanks @squirrelsc! Still working on a few minor items, but definitely ready for testing. @LiliDeng please let me know if you run into issues. Please make sure to pull the latest because I'll be cleaning up the commits once I get these last few items done.

@LiliDeng
Copy link
Copy Markdown
Collaborator

LiliDeng commented Nov 3, 2022

@squirrelsc @avylove ack

@LiliDeng LiliDeng merged commit ec74d3d into microsoft:main Nov 15, 2022
@avylove avylove deleted the poetrilectomy branch August 8, 2023 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants