NASA-PDS / roundup-action

Do a "roundup", a/k/a PDS-style continuous integration and delivery
Apache License 2.0
1 stars 4 forks source link

Roundup's Python Environment Should Be Separate from the Packages It Builds #67

Closed nutjob4life closed 2 years ago

nutjob4life commented 2 years ago

🐛 Describe the bug

After a bit of a struggle with the pds-doi-service build (and its unprecedented 2 hour Roundup time) it became apparent that pds-doi-service had in its dependencies several packages (pygit2, importlib-metadata, importlib-resources, beautifulsoup4) that it wasn't using. But it had specified versions of those packages in its install_requires that were incompatible with the tools the Roundup was using (pds-github-util and especially twine).

This helped reveal that pds-doi-service didn't need these redundant dependencies. But it also revealed that the Roundup's own dependencies could conflict with those of the packages it builds.

The Roundup should build packages in a protected environment, perhaps using a Python virtual environment.

📜 To Reproduce

  1. Create a new package pds-problem
  2. In pds-problem's setup.cfg include the dependency beautifulsoup4==4.8.2.
  3. Add the unstable-cicd.yaml workflow to the pds-problem repository.
  4. Make it go.

🕵️ Expected behavior

It should go all right.

📚 Version of Software Used

roundup-action@main

🩺 Test Data / Additional context

See

jordanpadams commented 2 years ago

it looks like this will be closed once we merge https://github.com/nasa-pds-engineering-node/roundup-action/pull/1

jordanpadams commented 2 years ago

closed per merging of https://github.com/NASA-PDS/roundup-action/pull/74