Commit Graph

23 Commits

Author SHA1 Message Date
John Mulligan
a451da9e8e github: require explicit "no-API" label for merge on 1 review
It's too easy to forget to triage a PR with the API label, and then
if the PR looks good and is approved the mergify system will merge
it. Move to using an explicit "no-API" label for marking the PR as truly
not having API changes and not requiring a 2nd review.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-09-30 09:49:24 -04:00
John Mulligan
7ce34854e1 workflows: experiment with apiage check in the ci
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-09-30 13:27:01 +00:00
John Mulligan
1adc3bac8b workflows: simplify ci runs using new make targets
The new make targets allow us to share (mirror-enabled) ceph container
instances. Use this to test both non-ptrguard and prtguard test runs
while dropping the (now redundant) non-mirror-enabled ceph + tests
container run.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-08-31 17:51:58 +02:00
John Mulligan
7a542b786a github: update mergify rules to handle API vs non-API PRs
This implements the policy first outlined in
https://github.com/ceph/go-ceph/discussions/549

In short: if a PR includes API changes (has the API label) then
either 2 reviews are required or 1 review plus 10 days must pass;
if a PR includes no API changes, then only 1 review is needed.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-08-23 10:14:21 -04:00
Niels de Vos
78f2f30f63 github: require Pacific and dpulls to pass before merging
Tests are running against Ceph Pacific and passing, so this can be
marked as a required CI status.

dpulls handles dependencies between PRs, once the status is marked with
success, the requirements have all been merged. Prevent merging when
dpulls is in a failed state.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2021-05-19 02:15:55 +02:00
John Mulligan
52ef909e2b workflows: enable running ci against ceph pacific
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-04-30 15:23:40 +02:00
Sven Anderson
b72758be55 ci: add multi-container test to workflows
Signed-off-by: Sven Anderson <sven@redhat.com>
2021-04-06 08:59:55 -04:00
Sven Anderson
d75b75fb75 ci: add branch pattern 'pr/**' to PR test workflow
In order to run CI jobs also on PRs that are based on other PRs, this
change adds the pattern 'pr/**' to the tested base branches.  That
means, if PRs are pushed that are based on branches that start with
pr/... these PRs are also get tested. So, if we - by convention - push
PRs to branches like for example pr/ansiwen/myfix42, then all PRs
that are not based on master but another PR get tested as well.

Signed-off-by: Sven Anderson <sven@redhat.com>
2021-03-12 10:07:58 -05:00
Sven Anderson
5768911be7 ci: add a test run for Iovec based on PtrGuard
Signed-off-by: Sven Anderson <sven@redhat.com>
2021-02-08 11:09:25 -05:00
John Mulligan
da34b0aec5 github: do not automatically merge on "extended-review" label
The "extended-review" label indicates that review is likely to take
an extended period of time and for bots to not automatically take
a PR.

This avoid the need to preemptively mark a PR as changes needed or
give a false impression with a "do-not-merge" tag, which has a subtle
lack-of-quality implication.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-01-04 14:54:24 -05:00
John Mulligan
2870202d06 github: remove mergify rule checking for mimic as we have removed it
The test case is gone from the CI. Remove it from the merigify config
too.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-12-16 15:18:33 +01:00
John Mulligan
4cf40e8e0b ci: remove "mimic" from testing matrix
Mimic is not a supported build target in v0.7 and as such there's no
need to keep testing it.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-12-10 09:41:28 -05:00
John Mulligan
7b1d735f38 workflows: move to setup-go@v2
We had been using setup-go@v2-beta for a while, before v2 was out.
Now v2-beta is out of data and generating warnings in the github
actions ui.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-11-04 10:02:24 -05:00
Niels de Vos
a5c777bf33 Use Smart-mode for "Strict Merge" to enable automatic rebase
Enabling Smart-mode for "Strict Merge" causes Mergify to do a rebase of
the PR before merging. The rebase will trigger CI runs again, and
merging will be done only when the CI results are successful.

See-also: https://docs.mergify.io/actions.html#merge
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-11-04 10:01:55 -05:00
Mudit Agarwal
5f107f3f5e Add configuration for Github stale action
Signed-off-by: Mudit Agarwal <muagarwa@redhat.com>
2020-11-04 08:20:46 -05:00
Niels de Vos
92b10d8699 Include all status checks explicitly in the Mergify configuration
Unfortunately it is not recommended to use a regular expression to check
for the CI status of multiple tests. In case some tests do not run and
fail to report the status, Mergify will not know something is wrong and
PRs might get merged.

The only way to make sure all status checks have passed successfully, is
to list them all separately.

See-also: https://docs.mergify.io/conditions.html#validating-all-status-check
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-11-03 12:36:46 -05:00
John Mulligan
c7bab1c25c Enable a daily run of the CI
Recently, changes to ceph nautilus reminded me that due to the low rate of PRs we don't always catch things that change in our dependencies right away. I propose adding a daily CI run that help catch these kind of things sooner and can help distinguish between a PR related failure and random flakiness and upstream changes.
2020-11-02 10:19:56 -05:00
Niels de Vos
7160ceaa3a Add configuration for Mergify
These rules for Mergify do the following:

1. dismiss review +1's when a PR is updated
   but keep any -1 reviews, so the reviewer needs to confirm the update
   addresses the comment(s)

2. merge the PR when there are 2 (or more) positive reviews, and no
   negative ones
   don't merge when the 'do-not-merge' label is added to the PR
   also require that the status checks (CI) has passed

3. in case there are merge conflicts, Mergify will leave a message
   asking for a rebase

Documentation: https://docs.mergify.io/configuration.html
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-11-02 09:11:43 -05:00
John Mulligan
dbd5b9361c ci: remove "luminous" from testing matrix
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-10-14 10:38:58 -04:00
John Mulligan
b76c077b3c workflows: on octopus test runs archive the 'implements' output
Only octopus containers will have castxml available for now.
Conditionally grab the files generated by 'implements' and
make it available for later examination.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-06-05 11:35:03 -04:00
John Mulligan
1eb81971a6 workflows: get coverage result from ci container and archive it
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-04-21 15:56:40 -04:00
John Mulligan
fee7ff61ce ci: add a github workflow config for CI
This should basically run similarly to the travis ci configuration
but use the native github ci infrastructure.
In order to avoid messing around with various env vars I had to use the
v2-beta version of the go setup library. Once v2 has been released
we can switch away from the beta.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-04-07 13:55:51 -04:00
John Mulligan
fdc33a8e69 github: configure a pull request template
Template provides brief reminders on what the project expects on
all prs.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-12-12 16:17:31 -05:00