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

DEV/MNT: migrate to GitHub Actions and pyproject.toml [LCLSPC-603] #118

Merged
merged 27 commits into from
Mar 7, 2023

Conversation

klauer
Copy link
Contributor

@klauer klauer commented Feb 22, 2023

Description

  • Upgrading by way of https://github.com/pcdshub/pcds-python-migration-tools
  • lucid no longer uses Travis CI and has migrated to GitHub Actions for continuous integration, testing, and documentation deployment.
  • lucid has been migrated to use setuptools-scm, replacing versioneer, as its version-string management tool of choice.
  • lucid has been migrated to use the modern pyproject.toml, replacing setup.py and related files.
  • Older language features and syntax found in the repository have been updated to Python 3.9+ standards by way of pyupgrade.
  • Sphinx 6.0 is now supported for documentation building. docs-versions-menu replaces doctr-versions-menu and doctr usage for documentation deployment on GitHub Actions. The deployment key is now no longer required.
  • pyupgrade was used to update annotations, though there might not have been many here
  • pycln was used to clean up imports

Motivation and Context

  • Migrating because we want to migrate our projects from Travis CI for one

How Has This Been Tested?

  • GitHub Actions

Where Has This Been Documented?

This PR and Jira LCLSPC-603

Performed by pcds-migration-tools DeleteFiles
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools AddFileFromTemplate
Performed by pcds-migration-tools GitHubActionsMigration
Performed by pcds-migration-tools UpdateSphinx
Performed by pcds-migration-tools RunPyupgrade
Performed by pcds-migration-tools PyprojectTomlMigration
Performed by pcds-migration-tools SetuptoolsScmMigration
Performed by pcds-migration-tools UpdateCondaRecipe
Performed by pcds-migration-tools RunPycln
Performed by pcds-migration-tools RunPrecommit
@klauer
Copy link
Contributor Author

klauer commented Feb 22, 2023

Our old pip jobs in this repo were marked as allowed failures: https://github.com/pcdshub/lucid/runs/10858002940 (I think this is due to the old segfaulting issue we had?)

Now pyqtads is causing failures in the pip test suite:

ImportError: cannot import name 'QtAds' from 'PyQtAds' (/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/site-packages/PyQtAds.abi3.so)

@klauer
Copy link
Contributor Author

klauer commented Feb 22, 2023

I think for the purposes of testing on pip/conda and building the docs without failing, I'd like to make pyqtads an optional dependency.

I don't think it'll be much work. What do you think @ZLLentz @tangkong ?

@ZLLentz
Copy link
Member

ZLLentz commented Feb 22, 2023

It's not obvious to me how to make pyqtads optional since it's used for the docking. I guess there'd just be an optional code path with no docking support?

@klauer
Copy link
Contributor Author

klauer commented Feb 23, 2023

Yes, exactly @ZLLentz. It'd just be creating independent windows that can't be docked.

It's either that or we just live with most of our CI jobs failing.

@klauer klauer changed the title MNT: upgrade to latest development standards DEV/MNT: migrate to GitHub Actions and pyproject.toml [LCLSPC-603] Feb 23, 2023
@ZLLentz
Copy link
Member

ZLLentz commented Feb 23, 2023

It sounds kind of annoying to implement to me but maybe I haven't looked into it enough. It's a good idea if you think it's not too hard.

@klauer klauer mentioned this pull request Feb 27, 2023
@klauer klauer marked this pull request as ready for review February 28, 2023 21:13
@klauer
Copy link
Contributor Author

klauer commented Feb 28, 2023

Gave up on making pyqtads optional here, and as such I set pypi-backed jobs to be optional for PR CI.
I think this one should be good to go

Copy link
Contributor

@tangkong tangkong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good, a shame the pyqtads stuff didn't pan out, but otherwise this seems standard.

license: SLAC Open
license_family: OTHER
license_file: LICENSE.md
summary: 'SLAC National Accelerator Laboratory: LCLS User Control and Interface Design'

extra:
recipe-maintainers:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do our other projects have a recipe-maintainers section in their self-contained (non-forge) recipes? I don't remember seeing this outside of conda-forge.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not typically, no - this probably could have been cleaned

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 29c75d1

@klauer klauer merged commit 1d9be04 into pcdshub:master Mar 7, 2023
@klauer klauer deleted the mnt_upgrade branch March 7, 2023 17:17
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