Guide developers on the usage of the `package-and-test` pipeline
Delivery is working to extend the GitLab maintenance policy to support bug fixes to the two previous monthly releases in addition to the current stable release. Part of the work to extend the maintenance policy will open up the stable branches to allow developers to merge bug fixes directly into the stable branch.
The execution of the package-and-test test suite will be the Quality indicator to guarantee stable branches are Quality-compliant and ready to be patched at any point.
Proposal: Guide developers on the usage of the package-and-test pipeline.
The package-and-test (formerly known as package-and-qa) pipeline is a manual downstream pipeline that is allowed to fail (there is some flakiness on these jobs that prevent them from acting as blocking).
Merge requests targeting stable branches should execute these specs before merging, and if they fail, engineers should ask their SET counterparts for assistance. To accomplish this the Danger bot rules introduced on #2691 (closed) can be expanded to:
- State the
package-and-testshould be executed before merging the merge request, and if there are failures the SET counterpart should be pinged to confirm they're not related to the merge request. This message will ping the author to ensure they are aware of this guideline. - Danger should fail if:
-
package-and-testjob is not present, is in themanualorcanceledstate. - The
pipeline:expeditelabel is used - It's not allowed on merge requests targeting stable branches because it causes thepackage-and-testjob to be skipped.
-
- On documentation merge requests (with documentation label) and merge requests fixing flaky failures (labeled with
~failure::flaky-testp) it is okay for thepackage-and-testto be skipped. - When the
package-and-testpipeline is notmanualorcanceled, but also notsuccess, a warning will be added to the top list of Danger warnings that says "Thee2e:package-and-testjob needs to succeed or have approval from a Software Engineer in Test. See the section below for more details."
