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 NFR workflow #1621

Merged
merged 3 commits into from
Mar 5, 2024
Merged

Add NFR workflow #1621

merged 3 commits into from
Mar 5, 2024

Conversation

ciarams87
Copy link
Member

@ciarams87 ciarams87 commented Feb 28, 2024

Proposed changes

Problem: As a maintainer of the NGF project
I want the ability to kick off all non-functional tests on demand
So that when I am making a release, I do not need to manage running all the tests myself.

Solution: Create a workflow that's runs on workflow_dispatch that can be ran by someone with write access only to the repo (i.e. the maintainers). There are optional inputs for test_label, whether nginx plus is to be used, and what version of NGF we are testing (this should be the next release version when running release testing).

Also added bash scripts for creating and tearing down GKE clusters.

Testing: Tested as much as possible locally using act, but the identity federation auth mechanism and the PR opening step cannot be tested fully locally. This cannot be fully tested until the workflow is merged into main (as 1. the workflow needs to be in main for the workflow_dispatch mechanism to work, and 2. we need access to secrets which are not possible from a fork).

Closes #1506

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • [] I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

Release notes

If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.

NONE

@ciarams87 ciarams87 requested a review from a team as a code owner February 28, 2024 09:16
@github-actions github-actions bot added documentation Improvements or additions to documentation chore Pull requests for routine tasks labels Feb 28, 2024
@ciarams87 ciarams87 added the github_actions Pull requests that update Github_actions code label Feb 28, 2024
@ciarams87 ciarams87 force-pushed the chore/nfr-workflow branch 2 times, most recently from 0ccb8aa to 9c8da9d Compare February 28, 2024 14:42
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
.github/workflows/nfr.yml Outdated Show resolved Hide resolved
tests/scripts/cleanup-gcp-pipeline.sh Outdated Show resolved Hide resolved
tests/scripts/create-gke-cluster.sh Show resolved Hide resolved
@kate-osborn
Copy link
Contributor

@ciarams87 looks good!

I wonder if we should document this workflow anywhere...Would it make sense in the release process doc?

.github/workflows/nfr.yml Outdated Show resolved Hide resolved
tests/scripts/create-and-setup-gcp-vm.sh Show resolved Hide resolved
@sjberman
Copy link
Contributor

Scale tests are gonna require a much bigger cluster. I wonder if we just create a big cluster to begin with and all tests run on that.

Copy link
Contributor

@kate-osborn kate-osborn left a comment

Choose a reason for hiding this comment

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

LGTM

@ciarams87
Copy link
Member Author

Scale tests are gonna require a much bigger cluster. I wonder if we just create a big cluster to begin with and all tests run on that.

@sjberman Maybe, but should we leave that for the scale test automation story? Some of these tests may need to be ran alone (like longevity), I'm not sure if scale test will fall into that bracket, but until the scale test story is automated we won't know for sure. Bigger clusters = $$$ so until we're sure we need them, I'd rather wait.

@ciarams87 ciarams87 merged commit 237906e into nginxinc:main Mar 5, 2024
36 checks passed
@ciarams87 ciarams87 deleted the chore/nfr-workflow branch March 5, 2024 15:30
amimimor pushed a commit to amimimor/nginx-gateway-fabric that referenced this pull request Apr 3, 2024
* Add NFR workflow

* Initial review feedback

* Fix typos, update docs, and remove image builds unless plus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Pull requests for routine tasks documentation Improvements or additions to documentation github_actions Pull requests that update Github_actions code
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Run Non-functional Tests in GitHub Pipeline on Demand
4 participants