Add a Dockerfile having all needed tooling. Using a container also means
those are the libs that will end up being used in the AppImage.
Then add a script for building pyrogenesis either form git or from
extracted source tarballs and for assembling the AppImage and finally
creating the AppImage.
Add building the AppImage to the "bundles" pipeline.
Also add a wrapper script to use podman to drive the whole process
for convenience for local builds.
Ref: #7577
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
Debian 12 (bookworm) will soon be oldstable.
Most importantly this version comes with cmake-3.25, which will allow us
to use SDL3, cpp-httplib, fcollada fork and possibly others in the
future.
This also comes with gcc-12 and clang-14 by default, both implementing
almost all of c++17 and most of c++20.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
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.
- Generate entity.rng as part of the nightly build, refs #6976.
- Generate docs from a checkout of the nightly build.
- Publish them to docs.wildfiregames.com.
For the sake of vendored cxxtest. Distributions are advised to use
system cxxtest anyways.
From the package description:
This is a convenience package which ships a symlink to point the
/usr/bin/python interpreter at the current default python3. It may
improve compatibility with other modern systems, whilst breaking some
obsolete or 3rd-party software.
As this is a Debian Buster based CI and the package is only available
from Debian Bullseye forward do the symlinking manually instead.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
- Add a new CI docker file
- Fix a typo for checkrefs (Refs https://code.wildfiregames.com/D5266)
- Switch to Clang8
- Unify pipeline reset in a function
- Update the image building pipeline
This was SVN commit r28086.
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful
Will add linter rule in seperate commit
Happy recompiling everyone!
Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
- Fix Jenkins warnings about leaked credentials.
- Fix one script not loading utf-8 on windows.
- Fix command line arguments not working when inlined on Linux.
This was SVN commit r27621.
This runs linting using the "arc lint" command of arcanist, which
notably gets run automatically as part of the arc diff workflow.
Changes:
- The major change is that arc lint reports, by default, only issues on
changed lines instead of changed files (--lintall changes that).
- JSHint is largely redundant with eslint and does not support some of
the new Javascript functionality that we are able to use in 0 A.D., such
as conditional chaining, thus it is removed (of course, users can still
run it manually).
- Eslint 7 is supported out of the box and updated to ES 2020
- cppcheck and eslint are optional - if the executable is not found
(e.g. in PATH), it will fallback to a 'dummy' PHP script that does
nothing. This has been tested on windows, mac and Debian (CI).
- The licence year linter now suggests replacement, and has been
rewritten as an arcanist linter.
- Add a JSON error linter.
The intention is to have non-intrusive external linting, and largely the
same text linting.
Coala has largely gone unmaintained in the past few years (more so than
arcanist anyways) and installing it on modern Python is convoluted.
Differential Revision: https://code.wildfiregames.com/D3639
This was SVN commit r25056.
- Custom fixes to coala: support python3.8 and recent versions of
cppcheck
- Adapt .coafile to current coala
- Adapt LicenseYearBear to current `svn` python package
- Move the linter configuration to the coala directory
- Remove the now unused lint-patch script
- Update Jenkins pipelines to report build stderr as a comment on Unix
(including warnings when the build succeeds), and to report lint issues
inline
Tested on Jenkins during the past week.
Differential Revision: https://code.wildfiregames.com/D2931
This was SVN commit r23971.