1
0
forked from mirrors/0ad
Commit Graph

12 Commits

Author SHA1 Message Date
Stan 934ca601d7 Add a Jenkinsfile linter 2025-05-08 19:50:21 +02:00
Ralph Sennhauser 84f626d2b5 Use Debian 12 in Linux pipeline
Use the single Debian 12 container image and inject CC, CXX and LDFLAGS
instead.

Further do the lfs checkout on the agent instead of inside the container
avoiding full rebuilds due to version mismatch.

Then split the debug and release builds using separate workspaces and
record warnings by build preventing gcc warnings leaking into clang
warnings.

Based on zero warning policy and incremental builds using a reference
build doesn't make sense. Removing that we can also drop an additional
generic workspace.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-03-23 14:38:42 +01:00
Ralph Sennhauser 2a0817d930 Add JOBS support to Unix build pipelines
Allow the number of concurrent build jobs in Unix build pipelines be
specified in the environment via the JOBS variable.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-03-09 11:14:16 +01:00
Itms b831b1f559 Fix Jenkins pipelines on Linux agent
The Linux agent now runs Docker in rootless mode for additional
security. Operations inside containers must be run as root to match the
underprivileged user running Docker.
2025-03-01 22:08:50 +01:00
Itms 66c2fc07d7 Run Linux CI on GCC 8 and clang 9
Those are the minimum supported versions. Only PCH builds are performed
to save build time.
2024-11-25 23:04:45 +01:00
Itms ebd66fef89 Retry non-incremental CI builds as a new run
When a non-incremental build is needed for a PR, the current code cleans
up workspaces and retries, but this leaves the build error in the
console output. This marks the build as unstable, as if warnings were
present.

Instead, let the build fail and instead reschedule a clean build, which
will override the build status in Gitea.
2024-11-14 14:10:14 +01:00
Itms f7630b155c Do not hardcode JOBS in CI pipelines
This build environment variable is now set agent-wide and corresponds to
the number of CPUs of each agent.
2024-09-02 21:47:08 +02:00
Itms 670f68c1c5 Fix remnant from old Jenkins configuration 2024-09-02 21:47:08 +02:00
Itms 79127ec59d Automatically try to unbreak CI incremental builds
This entirely reverts ee3318309b and removes the [CLEANBUILD] feature,
which needed to be used without omission to be efficient.

Instead, in case of build failure, the CI automatically starts a
non-incremental second build by running `make clean` (or the MSBuild
equivalent) before retrying the build.
2024-09-01 13:29:17 +02:00
Itms ee3318309b Allow to force non-incremental Jenkins builds
In all the builds using precompiled headers, an update to libraries will
crash the CI, as those headers will become outdated. It is then
necessary to force a full rebuild of the game by cleaning up the
workspaces.

This commit allows this CI behavior to be triggered by specifying
[CLEANBUILD] in the first line of the commit message.
This will constitute an opportunity to inform users that they need to
clean their workspaces when pulling the update.
2024-08-27 17:13:49 +02:00
Itms 2a67c9a503 Abort previous builds in pull requests
This will save precious build time by stopping the build of obsolete
commits.
2024-08-27 14:39:19 +02:00
Itms 270a48b37d Adapt Jenkins Pipelines to the new build system. 2024-08-20 19:34:28 +02:00