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

Adds a GitHub Action to test PyPI Releases on a Regular Schedule #29

Merged
merged 11 commits into from
Sep 1, 2022

Conversation

ilumsden
Copy link
Collaborator

@ilumsden ilumsden commented Mar 15, 2022

This PR is created in response to hatchet/hatchet#443.

This PR adds a new GitHub Action that essentially performs automated regression testing on PyPI releases. It will install each considered version of Hatchet under each considered version of Python, checkout that Hatchet version's release branch, and perform the version's unit tests.

The following Hatchet versions are currently considered:

  • v1.2.0 (omitted, missing writers module)
  • v1.3.0 (omitted, missing writers module)
  • v1.3.1a0 (omitted, missing writers module)
  • 2022.1.0 (omitted, missing writers module)
  • 2022.1.1 (omitted, missing writers module)
  • 2022.2.0 (omitted, missing writers module)

Similarly, the following versions of Python are currently considered:

  • 2.7 (omitted, missing version in docker)
  • 3.5 (omitted, missing version in docker)
  • 3.6
  • 3.7
  • 3.8
  • 3.9

Before merging, the following tasks must be done:

  • Replace the workflow_dispatch (i.e., manual) trigger with the commented out schedule trigger in pip_unit_tester.yaml Superseded by a task in a later comment
  • Change the "Install Hatchet" step to install llnl-hatchet instead of hatchet. This will be changed once the llnl-hatchet package goes live on PyPI

@ilumsden ilumsden added area-ci Issues and PRs related to continuous integration processes used by Hatchet developers area-deployment Issues and PRs involving Hatchet's packaging and deployment priority-normal Normal priority issues and PRs status-work-in-progress PR is currently being worked on type-feature Requests for new features or PRs which implement new features labels Mar 15, 2022
@ilumsden ilumsden requested a review from slabasan March 15, 2022 19:48
@ilumsden ilumsden self-assigned this Mar 15, 2022
@ilumsden ilumsden force-pushed the pip_install_tester branch 3 times, most recently from c7e1b58 to a8ee013 Compare March 15, 2022 20:07
@slabasan slabasan added this to the 1.10.0 milestone Apr 20, 2022
@ilumsden ilumsden removed this from the 2022.1.0 milestone Apr 21, 2022
@ilumsden
Copy link
Collaborator Author

Although the new GitHub Action is failing, the Action is actually working correctly. The following issues with pip-installed Hatchet are causing the Action to fail as expected:

  1. For Python 2.7, the Cython extensions are not properly installed, leading to an ImportError whenever Hatchet tries to import them
  2. For Python 3 (i.e., 3.5 - 3.8), the hatchet.writers module is not installed via pip. This is detailed in Adds the "hatchet.writers" module to pip installations #49

Since unit tests install Hatchet via python setup.py ..., these issues are unique to the pip-installed versions of Hatchet. Therefore, the fact that this Action is failing is actually a sign that the Action is working as intended

@ilumsden
Copy link
Collaborator Author

ilumsden commented Jun 22, 2022

From my perspective, there are only 3 remaining tasks for this PR:

  • If we want to do this before merging this PR, resolve the Cython import issue for Python 2.7
  • If we want to do this before merging this PR, resolve and merge Adds the "hatchet.writers" module to pip installations #49
  • Switch the trigger for this new Action from a workflow push to a schedule/cron event to prevent it from running too often

@ilumsden ilumsden added priority-high High priority issues and PRs and removed priority-normal Normal priority issues and PRs labels Jun 27, 2022
@slabasan slabasan force-pushed the develop branch 9 times, most recently from b461833 to 48d44ce Compare August 9, 2022 05:03
@slabasan slabasan added this to the 2022.1.2 milestone Aug 17, 2022
@ilumsden
Copy link
Collaborator Author

@slabasan now that we're only testing v2022.2.0 and we're not testing with Python 2.7, the runner is now passing. At this point, before merging, we should think about changing the trigger from a PR/branch push to a cron job. To that end, we need to choose how frequently we'd like this to run. Any ideas?

@ilumsden
Copy link
Collaborator Author

@slabasan I just set a schedule for the tester. According to GitHub, the cron syntax represents the following:

Runs at 00:00 UTC on the 1st in Jan, May, Aug and Nov.

@ilumsden ilumsden marked this pull request as ready for review August 22, 2022 19:34
@slabasan slabasan added status-ready-to-merge This PR has made all revisions and is ready to merge into the develop branch status-ready-for-review This PR is ready to be reviewed by assigned reviewers and removed status-work-in-progress PR is currently being worked on status-ready-to-merge This PR has made all revisions and is ready to merge into the develop branch labels Aug 24, 2022
.github/workflows/pip-install-tester.yaml Outdated Show resolved Hide resolved
.github/workflows/pip-install-tester.yaml Outdated Show resolved Hide resolved
.github/workflows/pip-install-tester.yaml Outdated Show resolved Hide resolved
.github/workflows/pip-install-tester.yaml Outdated Show resolved Hide resolved
@slabasan slabasan merged commit c82e153 into LLNL:develop Sep 1, 2022
@slabasan slabasan mentioned this pull request Sep 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-ci Issues and PRs related to continuous integration processes used by Hatchet developers area-deployment Issues and PRs involving Hatchet's packaging and deployment priority-high High priority issues and PRs status-ready-for-review This PR is ready to be reviewed by assigned reviewers type-feature Requests for new features or PRs which implement new features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants