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

Release workflow #56

Merged
merged 25 commits into from
Oct 31, 2023
Merged

Conversation

michael-valdron
Copy link
Member

@michael-valdron michael-valdron commented Oct 24, 2023

Please specify the area for this PR

ci
registry operator

What does does this PR do / why we need it:

Includes addition of a release workflow to automate the container image publication process.

If workflow is successful, it will create new release tags for quay.io/devfile/registry-operator and quay.io/devfile/registry-operator-bundle, release tags should be either v[0-9].[0-9].[0-9] or v[0-9].[0-9].[0-9]-rc.[0-9] pattern.

Which issue(s) this PR fixes:

Fixes #?

fixes devfile/api#1267

PR acceptance criteria:

  • Test Coverage
    • Are your changes sufficiently tested, and are any applicable test cases added or updated to cover your changes?
  • Gosec scans

Documentation

  • Does the registry operator documentation need to be updated with your changes?

How to test changes / Special notes to the reviewer:

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
… integration testing

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
@openshift-ci
Copy link

openshift-ci bot commented Oct 24, 2023

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@codecov
Copy link

codecov bot commented Oct 24, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (3fedd3e) 26.43% compared to head (dab9fda) 26.43%.

❗ Current head dab9fda differs from pull request most recent head 8aba019. Consider uploading reports for the commit 8aba019 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #56   +/-   ##
=======================================
  Coverage   26.43%   26.43%           
=======================================
  Files          25       25           
  Lines        1415     1415           
=======================================
  Hits          374      374           
  Misses       1020     1020           
  Partials       21       21           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
@michael-valdron
Copy link
Member Author

With these changes release tags trigger the "Release" workflow which first validates the places the version is defined and then pushes the images alongside running integration tests on k8s 1.25 & 1.26 (does not pass due to timeouts, see devfile/api#1313 for more details):

image

If version check fails, the other jobs do not run:

image

image

@michael-valdron michael-valdron changed the title [WIP]Release workflow Release workflow Oct 27, 2023
@michael-valdron michael-valdron marked this pull request as ready for review October 27, 2023 20:03
@openshift-ci openshift-ci bot requested review from elsony and rm3l October 27, 2023 20:03
.github/workflows/release.yaml Outdated Show resolved Hide resolved
.ci/minikube_integration.sh Show resolved Hide resolved
@michael-valdron
Copy link
Member Author

OpenShift release testing PR: openshift/release#44995

@michael-valdron
Copy link
Member Author

Documentation

Does the registry operator documentation need to be updated with your changes?

N/A

@michael-valdron
Copy link
Member Author

michael-valdron commented Oct 27, 2023

Test Coverage

Are your changes sufficiently tested, and are any applicable test cases added or updated to cover your changes?

Integration testing in OpenShift passes, but on Kubernetes it times out. See devfile/api#1313.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
.github/workflows/release.yaml Outdated Show resolved Hide resolved
.github/workflows/release.yaml Outdated Show resolved Hide resolved
.github/workflows/release.yaml Show resolved Hide resolved
check_version.sh Outdated Show resolved Hide resolved
Co-authored-by: Armel Soro <armel@rm3l.org>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>
@openshift-ci openshift-ci bot added the lgtm label Oct 31, 2023
@openshift-ci
Copy link

openshift-ci bot commented Oct 31, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: michael-valdron, rm3l

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [michael-valdron,rm3l]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@michael-valdron michael-valdron merged commit b13d6d8 into devfile:main Oct 31, 2023
7 checks passed
thepetk pushed a commit to thepetk/devfile-registry-operator that referenced this pull request Aug 20, 2024
* release workflow

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* deploy minikube ci script

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* deploy operator job

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* set imagePullPolicy to 'Never' to use local built image

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* release deployment checks on kubernetes 1.25 & 1.26

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* publishing operator bundle requires release deploy checks to pass

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* remove unnecessary ingress minikube addon

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* olm deploy check

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* version check

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* fix yq actions

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* download yq locally for version check

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* install operator-sdk

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* operator-sdk makefile variable

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* skip olm deploy check

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* setup go & operator-sdk for deploy checks

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* convert kubernetes deploy checks into kubernetes integration tests

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* release ci labelling fixups

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* add additional time for registry operator to setup before running k8s integration testing

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* make k8s integration testing not required for release image pushing

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* pin actions to commit SHA

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* use go.mod version

Co-authored-by: Armel Soro <armel@rm3l.org>
Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* set up go after source checkout

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* use gh provided CI variable instead parameter

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* use strategy.matrix for k8s version for integration testing

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* quote CI variable

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

---------

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
Co-authored-by: Armel Soro <armel@rm3l.org>
Signed-off-by: thepetk <thepetk@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants