We’re already doing the same thing in GitHub Actions, and they
apparently can break on Travis due to infrastructure issues in such a
way that we can’t restart the build at all.
* Add a new GHA workflow for building and publishing binary packages.
This greatly simplifies the package handling code, significantly reduces
the amount of things we are running in Travis, adds better CI for package
builds for PRs, finally eliminates LXC from any of our CI, and enables
us to make further major improvements much easier.
* Migrate repo cleanup to GHA and remove dead code.
* Fix RPM package builds.
* Fix DEB installation.
This moves the actual cURL command to a script, which both properly
handles the required parameters and also checks the results of the call
so that it throws an error if triggering the Docker build fails.
* Switch to using GitHub Actions for publishing Docker images.
This simplifies handling of multiarch images and publishing to multiple
registries, and unifies testing with the code actually being used to
build and publish the images.
This also removes a handful of scripts that are no longer needed due to
this change, and switches our Dockerfile to not needing an architecture
to be specified in a build argument, instead relying on proper multiarch
docker image support.
* Fix YAML syntax.
* Add separate tagging for nightly and stable builds.
* Correct YAML syntax errors.
They consistently do not catch any issues in our own code except for
syntax errors, which are already caught by shellcheck. However, they
account for a vast majority of the runtime of our Travis CI jobs for the
agent and thus are a major contributing factor to how long it takes for
checks to finish in Travis. Remove them so they stop causing us
problems.
* Alpine 3.12 has been out for multiple months.
* Fedora 33 is slated for release on 2020-10-27, the current beta is
functionally a release preview.
* Fedora 31 will be EOL as of 2020-11-27, any existing users should have
updated by then.
* Ubuntu 20.10 is slated for release on 2020-10-22, the currently
available system images are functionally a release preview.
* Ubuntu 19.10 went EOL on 2020-07-17.
* Our packaging code was missing a number of distros we technically
support which we appear to build packages correctly for.
Package build runs on Travis only happen as part of release builds.
Because they happen _after_ the rest of the release, the build checks
have already run at least once because they're run as part of the
initial release build. As such, there’s no point in running them again
on the packaging builds, especially since they are the primary reason
that the packaging builds experience transient errors.
* Revert "Fix Travis CI builds and skip Fedora 31 i386 build/test cycles (#9781)"
This reverts commit 07e67c4b62.
This will be fixed differently.
* Skip package build checks on builds that build packages.
We don't need to check that package builds work if we're actually
building packages.
Our current infrastructure depends on availability of appropriate
architecture LXC containers for the distros we're building for, and
there are no 32-bit x86 LXC images for Ubuntu 20.04, so we cannot build
these packages.
* Add DEB/RPM package build tests to Travis.
* Add working support for bundling eBPF in binary packages.
* Show stdout and stderr from commands run in LXC.
* Add proper bundling code for libbpf.
* Use AC_CHECK_FILE for libbpf.a external dep.
This way it gets properly logged in both configure output and the
configure log.
* Revert "Fix broken Fedora 30/31 RPM builds (#8572)"
This reverts commit 71290d9cb9.
It didn't actually fix things and caused a different set of issues.
* Build LWS and mosquitto with -fPIC in RPM builds.
This fixeslinking errors that are currently causing RPM package build
failures for Fedora 30/31.
* Migrate Tests from Travis CI to Github Workflows
* Use GHA path filters
* Make a unit test fail
* Run new cmocka based unit tests
* Revert "Make a unit test fail"
This reverts commit 15500c59e4d49cb478ef27289de0366a543815c5.
* Make a cmocka unit test fail
* Work around a bug in libbson-1.0 on Ubuntu 18.04
* Add DCMAKE_BUILD_TYPE=Debug to make dbengine tests pass
* Upload LastTest.log to GHA Artifact storage
* Revert "Make a cmocka unit test fail"
This reverts commit 920f56a03d.
* Remove Artifacts Validation stage
* Migrate coverity-scan to Github Actions
* Move to job conditional and use local install-required-pacakges.sh
* Add COVERITY_* secrets and add them to the Github secrets store with values from Travis copied over
* Consolidate and clean up artifact validation.
This consolidates the two separate 'Artifacts Validation' stages we have
in Travis into a single stage,a s well as fixing an error in the
handling of the lifecycle checks.
Overall, this should improve build times for Travis CI checks due to a
deduplication of certain lifecycle checks and an overall increase in the
parallelizability of the jobs within the stage.
* Fix lifecycle check retry logic.
* Migrate Travis based checks to Github Actions
* Remove Gitlab CI config
* Remove ./build/build.sh and use simple shell to do consistency checks on Dashbaord JS
* Install prereq deps
* Rename job
* Fix brain fart momemt
* Split Dashboard checks into a separate job