The nodejs v20 actions require at least Ubuntu 20.04 to run. Downgrading
to nodejs 16 and extending its agony for a few more months until they
become fully unsupported seems pointless to me.
Signed-off-by: Haru <haru@dotalux.com>
The only jobs that take over 30 minutes are usually only the ones that got stuck. This ensures that stuck jobs don't hog the entire CI for too long.
Signed-off-by: Haru <haru@dotalux.com>
This fixes the following deprecation warning in GitHub Actions:
- 'Formula mysql-connector-c was renamed to mysql-client'
Signed-off-by: Haru <haru@dotalux.com>
This fixes the following deprecation warnings in GitHub Actions:
- 'The following actions use a deprecated Node.js version and will be forced to run on node20: github/codeql-action/init@v2, github/codeql-action/autobuild@v2, github/codeql-action/analyze@v2'
- 'CodeQL Action v2 will be deprecated on December 5th, 2024. Please update all occurrences of the CodeQL Action in your workflow files to v3"
Signed-off-by: Haru <haru@dotalux.com>
This fixes the following deprecation warning in GitHub Actions:
- 'The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/checkout@v1'
Signed-off-by: Haru <haru@dotalux.com>
for reasons unknown, the controller workflow was only used by pushes,
while all workflows were triggered separately for pull requests.
now both pushes and pull requests follow the same CI flow, with some
specifics for pushes being handled with ifs
- replacing "github.workflow" replacer with a hardcoded name of the flow
file. "github.workflow" value comes from the caller.
When controller workflow is the one triggering, all flows will get
this as "controller" and tests with the same matrix will conflict and
cancel each other. Hardcoding the flow name allows all of them to run.
- use "_" as separator between matrix values instead of "-" to make it
easier to read flow ids generated by Actions, since our matrix also
uses "-" in its values
pushing a new commit in a PR now stops actions from previous commits
of the same PR, allowing CI to stop testing old code and starting the
new one earlier
sometimes the test execution freezes but doesn't fail.
Those tests usually take 30 minutes in the worst case, so using
a timeout of 1 hour will prevent jobs from staying running for
6 hours until the default timeout stops them.
the current approach of using mysqladmin ping was failing all the time,
using the healtcheck script contained in the container image should be
enough, since it ensures the instance is reachable
mysql containers still use mysqladmin ping (since healthcheck.sh is not
available for them)
This is for consistency with the debian builds that have already been switched to use python3, since python2 is EOL and is finally disappearing
Signed-off-by: Haru <haru@dotalux.com>