For 7019ead, a separate CI job was created because bionic's gcc-7
didn't have sha512 intrinsics support. Now that we've moved to a
focal build system, the experimental CI job for aarch64 can be ran
as a single job again.
Adds a lint job to the CI where we can do sanity analysis on
included files to help spot errors on non-cpp source files
that may cause problems during runtime.
This first job implements contrib/devtools/check-translations.py
that alerts the repository of errors in the translation files in
src/qt/locale. Errors in a translation file are otherwise only
becoming visible during runtime.
cause: msft/gha doesn't support the i386 winehq ppa, therefore we
have to use a workaround to download necessary i386 dependencies
for winehq-stable.
This adds winehq-focal.sources to and removes microsoft-prod.list
from the i686 build.
Implemented by the "add architecture" CI step into a script that
can now be customized per job.
Co-authored-by: Patrick Lodder <patricklodder@users.noreply.github.com>
This enables running of security checks for macOS and symbol
checks for windows and ARM linux targets with each CI run.
Symbol checks remain disabled for debug and experimental targets
because those aren't production binary releases.
macOS symbol checks need build system patches before it will
work as intended so these have to stay disabled at this point.
Integrates the lief-based scripts into the GH Actions CI. This
allows the CI to maintain consistent checks for an upcoming
upgrade to Ubuntu focal for CI and Gitian.
Because lief is not distributed as a wheel for glibc < 2.17, a
custom .whl file for Ubuntu Bionic is made available on
depends.dogecoincore.org to save up to an hour that would otherwise
be spent on compiling lief from source. For current focal-based
CI jobs, this is not needed because that provides glibc > 2.17.
Each CI job has received 2 extra steps that are mutually exclusive
to make sure that the correct version is installed. When there are
no longer any Ubuntu Bionic based bionic jobs, this can be deleted
in favor of a single command in the "install packages" step.
python3-pip and python3-setuptools are now installed by default
for all CI jobs, where before this was only used for jobs that ran
the full qa test suite.
-update install-deps.sh so it will clean up after itself and can be invoked from root directory.
-add python3-pip and python3-setuptools to ci matrix jobs that run qa and qa/README.md which are needed in order to install ltc-scrypt.
-update archive source to dogecoin/ltc-scrypt:v1.0.1.
-update qa/README.md to include sudo prior to apt-get install directive and add instructions to invoke install-deps.sh script from root directory.
After a bionic update on 2022/06/03, Github Actions images have a
mono-runtime installation that takes precedence over wine, which
we need for running the tests.
This removes mono-runtime from both win CI jobs if it exists, so
that it doesn't bother us anymore in any way thinkable. We do not
need mono there, as we do not .net
Although the issue only manifested on x86_64-w64-mingw32 builds,
this also removes it from the i686-w64-mingw32 build as a
precaution.
- Check SDK shasum to protect against supply-chain attacks
- Don't re-download the SDK archive when we have it in cache
- Purge the cache when the CI configuration changes
Updated cross build for ci environment
Updated experimental build to focal
Unified cross and native ARMv8.2 build options
Updated experimental build in ci
Sets the linux experimental build to bionic, to be in line with the
rest of the CI and not have any unexpected surprises when moving
features from experimental to release.
This was caused by the bionic downgrade for the CI crossing the
introduction of the experimental CI for AVX2.
Adds a nonce field to manually nuke the cache
Changing the CI workflow descriptor can invalidate dependencies
and ccache caches by introducing different compilers or base OS,
but as GH Actions does not let us update an existing cache, this
would cause every subsequent CI run to rebuild everything until
a nuke is triggered.
CI will not complain if there were an error with qt for builds that
do not explicitly specify that we want to build UI. This makes all
builds expect QT except the i686-linux and armhf builds.