Instead of requiring an external script (.prereq) to generate the certificates
we can regenerate them before running each test.
Also removes completly the .prereq script
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
2 groups were created:
- slow: Tests that are very slow because of sleeps, so we can run them all
in parallel
- system: Tests that make change to the system, so they can cause problems
when running in parallel, so we run them in series.
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
Some packages we need to build swupd are not available on ubunutu-latest
so we need to download and build from source. This process is slow and
caching can save us some significant time on build.
It's a bit hard to configure github to block PRs when we change the name of
tests, so keep one with a constant name to validate PRs
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
This patch adds 2 scripts used to balance test execution. The weight_tests.bash
runs all tests and sets a weight to them based on how long they take to run. The
other, filter_bats_list.bash, use this information to split the tests in groups to
be executed by github actions.
When a new test is added the script will consider it with an average weight, so this
shouldn't unbalance the system right away. After some time, if we notice that the
system is not balanced anymore we can just run the weight_tests.bash again to rebalance.
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
There are some build requirements that are only necessary for style check.
Reduce the build time by running them only for style check job.
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
This commit separates the 3rd-party tests in their own job since we will
be adding several tests related to 3rd-party in the upcoming days.
This commit also rebalances the tests in the update groups so they are
better balanced.
Signed-off-by: Castulo Martinez <castulo.martinez@intel.com>
Distcheck is light now, so adding it to github actions to make sure
we aren't breaking the build on a dist package
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
Now make check is only running unit tests and a new target,
functional-check is used for bat tests. The major win on that
was that now we can use find to look for all bat tests in the
functional library and we don't need to keep the BATS list
updated.
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
Github job timeout is 6 hours, but we are sure that any job will take around
20~30 minutes to run. Set a one hour timeout to make sure that hung jobs aren't
going to be blocking us for a long time.
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
Always save the config file in another directory so we won't have
problems on running the config tests in parallel. Before this patch
if you run the config tests in parallel with any other tests you could
end up having false-negatives.
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>