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

CI: Only build the OpenLane package if building Open-PDKs succeeded #277

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ajelinski
Copy link
Contributor

This change will ensure a problem when testing OpenLane in the same CI that:

  • built a new version of the magic package,
  • failed to build open_pdks with that new magic version
    won't happen again since debugging this isn't trivial.

It turned out all of the open_pdks packages newer than 1.0.286 have a strict magic version requirement. The just-built magic package will be always preferred in CI so when building open_pdks fail and the CI built a new version of the magic package then this old 1.0.286 Open-PDKs package will be used which doesn't work well with the other latest packages.

Such a run happened in https://github.com/hdl/conda-eda/actions/runs/3828789250/jobs/6551196431#step:7:3305

@proppy
Copy link
Contributor

proppy commented Jan 5, 2023

LGTM! Thanks for pinning this down. Maybe we could also delete version of open_pdks older than 1.0.286? (That could reclaim precious disk space on the channel)

@ajelinski
Copy link
Contributor Author

LGTM! Thanks for pinning this down. Maybe we could also delete version of open_pdks older than 1.0.286? (That could reclaim precious disk space on the channel)

Are you sure these old packages aren't used by anyone?

Btw. perhaps we should add a constraint to the OpenLane package so that open_pdks has to be newer than that? It can be an optional one, i.e., not making any open_pdks required for running OpenLane. Also it'd be best to have this compatibility set more precisely since now the latest OpenLane allows using any openroad and open_pdks versions but unfortunately I don't know enough about these tools to establish it.

@proppy
Copy link
Contributor

proppy commented Jan 6, 2023

Btw. perhaps we should add a constraint to the OpenLane package so that open_pdks has to be newer than that? It can be an optional one, i.e., not making any open_pdks required for running OpenLane.

Yes, I was thinking about the same thing, maybe it could leverage https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#run-constrained, like the open_pdks package does with magic:
https://github.com/hdl/conda-eda/blob/master/misc/open_pdks/meta.yaml#L47-L48

@proppy
Copy link
Contributor

proppy commented Jan 6, 2023

Also it'd be best to have this compatibility set more precisely since now the latest OpenLane allows using any openroad and open_pdks versions but unfortunately I don't know enough about these tools to establish it.

Something I was thinking was to pin_compatible(min_pin='x.x.x', ...) to make sure we always require at least the version of all dependencies for which the package test passed. WDYT?

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.

2 participants