Currently, it seems easier to upload the diagram images to git than to
try to make the image generation script work with out of the tree builds
and other corner cases.
This means, however, that one must activelly remember to update msc
diagram files, run the script and re-add new png files, if those ever
need to be updated. To raise awareness to that, a watermark was added
to the diagram images.
Also removed configuration steps that added mscgen as dependency
(locally and for workflow builds and readthedocs).
Moved devguide dir into userguide dir.
Since the devguide is now incorporated as the last chapter of the
userguide, removed build and configuration files from the devguide
dir, as these are no longer needed.
Task #4909
Update the Ubuntu containers for the commit and formatting checks to
Ubuntu 20.04.
The latest version of the checkout action requires git v2.18 in order to
checkout the code as a git repo, which is required for these workflows.
With older versions of git the action will download the code as a
tarball and lack the .git directory.
Many places were still referencing the old Suricata page.
Used git grep with replace to update them. Checked that new links work.
Left old references when they were only documentation examples (for
output or unittests).
Task#4915
There is currently a build failure with macos-latest (recently updated)
to 11 in the libhtp test suite code. Not sure if there are other
build issues in libhtp or Suricata at this time.
Add library install test to Fedora 33 build. In this case the
shared library is disable so the test makes sure it is not
installed.
Also make sure the library and headers are not installed until
explicitly installed.
Add similar to test to an Ubuntu 24.04 build without disable-shared
and check that the shared library is installed.
All builds have been using the same cache id for ~/.cargo which
could lead us to conflict situations which is what I think we are
seeing with the commit-check job.
Initial attempt with a few hacks:
- npcap dlls are extracted from the installer and placed in cwd
- cbindgen is installed system wide desipte a preinstalled copy
This does not yet hook into the "prep" build from build.yaml or
support using custom support PRs/branches (SV, SU).
Choose Rust 1.39.0 as a known version of Rust that we build against
to see in CI if we build with this version, but fail with latest.
This is to cover a similar test from Travis CI.
The prepared distribution packages are failing autoreconf
due to a missing acsite.m4. Add autoreconf to the centos-7
build which uses the prepared package to test for this
issue.
For example, to use suricata-verify pr #239:
suricata-verify-pr: 239
Also update the pull request template to contain the available
parameters that can be set.
Create a "prep" build that parses libhtp, suricata-update and
suricata-verify repo and branch information from the pull
request message and turn these into artifacts that are
used by the builders
Examples:
libhtp-repo: https://github.com/OISF/libhtp
libhtp-branch: 0.5.x
suricata-verify-repo: http://github.com/OISF/suricata-verify
suricata-verify-branch: master
suricata-update-repo: http://github.com/OISF/suricata-update
suricata-update-branch: master
Other changes:
- checkout@v2 (faster)
- working directory cleanup
0.14.2 breaks builds with Rust 1.34.0, which we still support.
Also build cbdingen in debug mode. It builds much faster
with minimal runtime performance.
On a pull request, attempt to compile all commits from
the base branch to the head of the PR branch.
The job is in a separate workflow file to limit it to
pull-requests only, as the base branch is not available
on push (something to look into).
On the CentOS 7 build, test a make after a make clean. Should
catch the case where bundled generated headers files get deleted
when cbindgen is not available to rebuild them.
If sources are vendored, we get the same effect of using frozen
with a lock file, and the Cargo.lock is generated based
on the vendored sources.
This also removes the need to ship a Cargo.lock.
Fixed out of source builds with vendored sources.
As the action runs natively on 18.04 we were not explicitly
setting a container, but this means we're using what GitHub
provides us as a default state which might be broken. Instead
use the standard Ubuntu 18.04 container.