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

add test workflow for upgrade #2780

Merged
merged 22 commits into from
Nov 4, 2024
Merged

add test workflow for upgrade #2780

merged 22 commits into from
Nov 4, 2024

Conversation

pmeier
Copy link
Member

@pmeier pmeier commented Oct 17, 2024

Reference Issues or PRs

Addresses #2701 (comment).
closes #2867

What does this implement/fix?

Put a x in the boxes that apply

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds a feature)
  • Breaking change (fix or feature that would cause existing features not to work as expected)
  • Documentation Update
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build related changes
  • Other (please describe):

This PR adds a new CI workflow to test the happy path of upgrading Nebari. In particular it tests 3 things

  1. If nebari upgrade works starting from the most recent release
  2. If nebari deploy works after the config upgrade
  3. If the upgrade deployment is still healthy

It does not test

  • whether any data loss occurred
  • whether the new deployment is fully functional

Testing

  • Did you test the pull request locally?
  • Did you add new tests?

How to test this PR?

Look at the CI config and validate if the workflow follows the correct upgrade path and whether the signal is green.

Any other comments?

Copy link
Member Author

Choose a reason for hiding this comment

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

Nothing has changed functionally here. I factored out three things into local actions for them to be reusable by the upgrade test workflow:

  1. Setting up the runner for local deployments, i.e. installing kubectl and configuring docker
  2. Initializing the Nebari config and adding some CI specific options.
  3. Perform a health check for a nebari deployment

.github/workflows/test_local_integration.yaml Show resolved Hide resolved
.github/actions/health-check/action.yml Outdated Show resolved Hide resolved
.github/workflows/test_local_upgrade.yaml Outdated Show resolved Hide resolved
@pmeier pmeier marked this pull request as ready for review October 18, 2024 15:00
@pmeier pmeier requested review from viniciusdc and marcelovilla and removed request for viniciusdc October 18, 2024 15:00
Copy link
Contributor

@viniciusdc viniciusdc left a comment

Choose a reason for hiding this comment

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

Overall, this is a really well-built PR. It adds the new workflow pipeline for testing the upgrade path and helps modularize some parts of our workflow with custom self-actions. Once we remove the workaround below, we can merge this

.github/workflows/test_local_upgrade.yaml Outdated Show resolved Hide resolved
@pmeier pmeier requested a review from viniciusdc November 1, 2024 14:24
@dcmcand dcmcand dismissed viniciusdc’s stale review November 4, 2024 11:27

Changes were made

@dcmcand dcmcand merged commit 2d03f19 into main Nov 4, 2024
7 checks passed
@dcmcand dcmcand deleted the upgrade-test-workflow branch November 4, 2024 11:27
@viniciusdc viniciusdc linked an issue Nov 28, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done 💪🏾
Development

Successfully merging this pull request may close these issues.

Add nebari upgrade basic test workflow
3 participants