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: fix workflows #5854

Merged
merged 9 commits into from
Mar 2, 2024
Merged

ci: fix workflows #5854

merged 9 commits into from
Mar 2, 2024

Conversation

psychedelicious
Copy link
Collaborator

What type of PR is this? (check all applicable)

  • CI/CD

Have you discussed this change with the InvokeAI team?

  • Yes
  • No, because:

Have you updated all relevant documentation?

  • Yes
  • No

Description

Restructures workflows to not get catch-22'd.

There are now 6 code-related workflows:

  • frontend-checks (several frontend code quality checks)
  • frontend-tests (vitest)
  • python-checks (ruff)
  • python-tests (pytest)
  • build-installer (builds the installer)
  • release (all checks, build, and publish - pauses before publishing)

The checks and test are run on each PR and push to main. When triggered this way, they each check for changed files before running.

All workflows may be dispatched manually. When triggered this way, they do not check for changed files - they just run.

The build workflow is only dispatched manually, or as a part of the bigger release workflow. You can run it manually to get an installer to try out.

The release workflow runs all the checks, tests and builds, then pauses for manually approval before releasing to PyPI.

Also adds python 3.11 to the test matrix. We support both 3.10 and 3.11 so we should really run tests on both.

QA Instructions, Screenshots, Recordings

Not really possible to test this unless you merge it into a fork. I've tested various scenarios on my fork.

My last attempt in #5839 ran the workflows fine, but due to the structure and relationship between them, couldn't be set up as required status checks. In this PR, the structure is revised to avoid this issue. Additionally, I've set the status checks up on my fork and confirmed that they trigger correctly.

Merge Plan

This PR can be merged when approved.

Are there any post deployment tasks we need to perform?

❗❗❗
Once this is merged, the required statuses must be updated in the repo settings:

  • frontend-tests
  • frontend-checks
  • python-checks
  • py3.10: linux-cpu
  • py3.10: linux-cuda-11_7
  • py3.10: linux-rocm-5_2
  • py3.10: windows-cpu
  • py3.10: macos-default
  • py3.11: linux-cpu
  • py3.11: linux-cuda-11_7
  • py3.11: linux-rocm-5_2
  • py3.11: windows-cpu
  • py3.11: macos-default
    ❗❗❗

@github-actions github-actions bot added documentation Improvements or additions to documentation CICD labels Mar 2, 2024
@hipsterusername hipsterusername merged commit f8b5493 into main Mar 2, 2024
14 checks passed
@hipsterusername hipsterusername deleted the psyche/ci/fix-workflows branch March 2, 2024 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants