Commit Graph

144 Commits (9c2939fb33a4e66d26be996df4491b3b7ec10759)

Author SHA1 Message Date
Jason Ish ad9c8fab25 github-ci: set safe directory before reset
While the latest checkout action does set the "safe.directory"
parameter, it doesn't appear to stick for the following "git fetch", so
call this command again.
3 years ago
Jason Ish 57a6f30431 github-ci: pin checkout action to latest release 3 years ago
Juliana Fajardini 67af1504b3 devguide: drop use of mscgen script in builds/make
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).
3 years ago
Juliana Fajardini 6f77c722a2 devguide: move into userguide as last chapter
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
3 years ago
Victor Julien 251b52ab07 github: bump MSRV and minimum known version 3 years ago
Victor Julien c1be27cb45 github: remove xenial build 3 years ago
Victor Julien d1071c151c ci: formatting errors are now fatal 3 years ago
Victor Julien 6c240938b5 github-ci: replace failing CentOS 8 by AlmaLinux 8.4 3 years ago
Jason Ish f8e143030c github-ci: update commit and formatting containers
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.
3 years ago
Jason Ish 234a44bf85 github-ci: pin actions to specific versions
Resolve the GitHub scanning pinned-dependencies for most of our GitHub
actions.  The oss-fuzz actions have not been updated.
3 years ago
Victor Julien 7b152d0021 github-ci: update codecov
Update to v2 API.
Pin the version as suggested by Scorecard.
No longer fail on error. This was not found to be very actionable.
3 years ago
Jason Ish ee933794aa github-ci: set workflow permissions to read-all 3 years ago
Jason Ish 5037c86b49 github-ci: add windows build for libpcap 3 years ago
Jason Ish 7b44485b3b github-ci: use curl -L for npcap: follow redirects 3 years ago
Catena cyber cc746b4594
ci: adds scorecard analysis GitHub workflow 3 years ago
Philippe Antoine a6cb539054 ci: do not use ppa for cocci
As this version segfaults
3 years ago
Lukas Sismis 4972021cd4 dpdk: add DPDK test support in Github CI
Add DPDK dependency to the build process in distributions with
a native support of DPDK in their default package managers.
3 years ago
Philippe Antoine 743fb12aa8 ci: adds default warning flag about float conversions 3 years ago
Corey Thomas 7be793f7b4 ci: add fedora 35 to builds 3 years ago
Jason Ish 8b9721b265 github-ci: pin macos build to 10.15
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.
3 years ago
Jason Ish d18fc4f3f0 github-ci: use sccache for gcc in commits workflow
Previously was only used for Rust.
3 years ago
Juliana Fajardini 6c7f06b001 workflows: add mscgen to Ubuntu 18.04 Cocci builds 3 years ago
Philippe Antoine 1dc98cad27 pcre2: remove PCRE1 from CI 3 years ago
Philippe Antoine acb1ab08a2 pcre2: introduce as a new depdendency 3 years ago
Jason Ish a480ec2ba1 github-ci: remove fedora 32 builds (eol)
Promote Fedora versions used in builds to 33 or 34.
3 years ago
Shivani Bhardwaj bfac4ff4d2 ci: use quiet option w suricata-verify 3 years ago
Philippe Antoine 7fa3e8df61 ci: dummy git configuration for rebase 3 years ago
Philippe Antoine 3e81d20a71 ci: rebase specified s-v pr
So that CI does not fail, if suricata PR got upgraded in a new
version, but S-V PR did not get upgraded, and S-V changed
in master
3 years ago
Philippe Antoine 7ca4b13568 qa: use time on fuzz targets being run on corpus 3 years ago
Victor Julien 533c6ff274 github: work around rustc mingw issue
https://github.com/msys2/MINGW-packages/issues/8732#issuecomment-845079799
3 years ago
Jason Ish def636383e github-ci: enable hiredis on fedora 33 build 3 years ago
Simon Dugas f629321de0 ci: update known rust version
Update RUST_VERSION_KNOWN to the latest stable known to succeed. Also
updates the documentation to avoid confusion around the use of this
variable.
3 years ago
Eric Leblond 23b1607d69 github-ci: add ebpf build
Use Debian 10 to build eBPF.
4 years ago
Victor Julien ae29804a28 github-ci: add libnet to ubuntu-20-04-cov-sv builder 4 years ago
Jason Ish 93ce39d450 github-ci: test install of library
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.
4 years ago
Jason Ish 325096a07f github-ci: add -fsanitize=address to LDFLAGS for asan builds
With fPIC, -fsanitize-address also needs to be added to LDFLAGS
to build with ASAN support.

Also fix what looks to be a copy and paste typo.
4 years ago
Jason Ish 82ecf64fe6 github-ci: run suricata-verify on centos-7 build 4 years ago
Victor Julien 3ce05a3583 fuzz: run OSS-Fuzz corpus and track coverage 4 years ago
Victor Julien f2e9517434 github: run codecov verify test w/o optimizations 4 years ago
Victor Julien 711cfe5657 github: codecov fix path handling 4 years ago
Victor Julien f0f578444e ci: initial codecov integration 4 years ago
Jason Ish 4e57b5e665 github-ci: don't install libnss/libnspr packages 4 years ago
Jason Ish 18a1fd22c2 github-ci: use python3 in debian builds 4 years ago
Jason Ish 7904ef82d0 github-ci/macos: use brew to install Python 3
The default Python on MacOS is Python 2. Suricata-Verify now
depends on Python 3, so install it with Brew.
4 years ago
Jason Ish 37eff69a37 github-ci: update min Rust version from 1.34.2 to 1.41.1 4 years ago
Jason Ish 49ca070446 github-ci: use a unique id for the commit check cargo cache
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.
4 years ago
Jason Ish f09536a936 github-ci: fix centos 8 build
The "PowerTools" repo that we need to enable has been renamed
to "powertools".
4 years ago
Jason Ish 858ab07775 github-ci: add sccache to per-commit check
Also use the pre-build cbindgen binary.
Hopefully speeds up the build process.
4 years ago
Jason Ish 1f1a765132 github-ci: build cbindgen during prep
Instead of building cbindgen in every build, build it once
during prep as a static musl binary to avoid library issues.
4 years ago
Jason Ish f945acf733 github-ci: remove prep directories before upload
Removing the libhtp, suricata-update and suricata-verify directories
before uploading the artifact reduces the upload time from minutes
to seconds.
4 years ago
Jason Ish 42196e932e github-ci: fedora 33 test build (based on fedora 32) 4 years ago
Jason Ish ea36c01a8f github-ci: remove fedora 31 (eol) 4 years ago
Victor Julien 3ea33f5e47 github-ci: CentOS 6 is EOL 4 years ago
Jason Ish bb7f80ef6c github-ci: check for duplicate SIDs in rules/ 4 years ago
Victor Julien 75c0f9bd0a github-ci: windows in builds 4 years ago
Philippe Antoine dfadd03b6f ci: updates github ci add-path mechanism 4 years ago
Victor Julien a9249cb2f6 github-ci: fix debian 10 test using rustup 4 years ago
Philippe Antoine f29982c03c ci: adds cifuzz workflow 4 years ago
Jeff Lucovsky d2c8c9f58e github-ci: Improve body parsing
This commit improves handling of the PR body parsing to eliminate
unneeded characters.
4 years ago
Jason Ish 2ede736116 github-ci: remove deprecated set-env and add-path
Use the new methods for setting an environment variable and
updating the PATH.
4 years ago
Victor Julien 606750f2a0 github-ci: add windows build with suricata-verify
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).
4 years ago
Jason Ish 8b38db4a50 github-ci: apply default CFLAGS to all builds 4 years ago
Jason Ish 280ab65705 github-ci: add test build without jansson
This is to cover a test from Travis CI where we make sure
that ./configure fails if libjansson is not available.
4 years ago
Jason Ish cb963f8682 github-ci: update debian 9 test to use known Rust version
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.
4 years ago
Jason Ish b698f66c27 github-ci: enable debug on Fedora 32 build 4 years ago
Jason Ish 146a1ee1d7 github-ci: check that configure fails if rust to old
Migration of similar test from Travis-CI.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3869
4 years ago
Jason Ish 975b58c050 github-ci: Ubuntu 20.4 build with -NDEBUG
To cover Travis-CI test that builds with -NDEBUG.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3869
4 years ago
Jason Ish dfbd38e809 github-ci: ubuntu 20.04 build without nss/nspr
Adds a test that builds and tests Suricata without nss/nspr
to replace the similar test on Travis-CI.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3869
4 years ago
Jason Ish 1ec6307d9d github-ci: Fedora 32 builder with asan enabled
Also enables -Wshadow and rust-strict to cover those cases
from Travis.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3868
4 years ago
Jason Ish 3a3a9e135a github-ci: fix building against request libhtp/sv PR
The variable name was wrong, causing the libhtp-pr and sv-pr
parameters in the commit message to not be applied.
4 years ago
Roland Fischer 9f1e49e863 ci: Run formatting check on pull request 4 years ago
Jason Ish 0de0c60c88 github-ci: add autoreconf to centos-7 build
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.
4 years ago
Shivani Bhardwaj 0ae63e85ed gh-checks: Add enable-debug-validation to test 4 years ago
Jason Ish 5d0d630237 github-ci: build rust doc on stable and 1.34.2
Nothing is done with the rustdoc, its just build to make
sure it builds with our supported versions of Rust
4 years ago
Jason Ish 7d22993a8f github-ci: allow pull-request to be referenced in pr body
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.
4 years ago
Jason Ish ced6656317 github actions: extract repo/branch names from PR message
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
4 years ago
Jason Ish 4318c1de45 github ci: pin cbindgen to 0.14.1
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.
5 years ago
Jason Ish d955acc01c github-ci: check all commits on pr
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).
5 years ago
Jason Ish 211b193e08 github-ci: on centos-8 build, use distcheck
And verify that man page is built.
5 years ago
Jason Ish bcbd8c2ac0 github-ci: build documentation on Ubuntu 18.04 5 years ago
Jason Ish 7c0c2e76ee github-ci: build documentation on Fedora-31 build
Install sphinx and latex tools to test the building
of documentation on the Fedora 31 build, including
the PDF.
5 years ago
Philippe Antoine 9b5ccbe4d7 ci: adds a build with make tags 5 years ago
Victor Julien 19fe8d9894 ci: add fuzztargets and afl build test 5 years ago
Philippe Antoine 66181ed2e4 ci: enables fuzz targets in one build
github workflow wih debian
5 years ago
Victor Julien 95e7246b75 rust: bump minimum supported version to 1.34.2 5 years ago
Jason Ish 0a1d2fcec3 github-ci: test make after make clean
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.
5 years ago
Jason Ish 56528a38dd github-ci: add .cargo/bin to path on cbindgen install
And remove cbindgen from builds that use the distribution
archive.
5 years ago
Danny Browning b573c16dd5 build: cbindgen
Rust headers are now generated using cbindgen. If cbindgen is present, they can
be generated during dist, otherwise they will be available for builds.
5 years ago
Jason Ish 57b683233d rust: Don't use --frozen during build.
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.
5 years ago
Jason Ish 2ff963db16 github-ci: do distcheck on fedora 31 build
There were no distchecks being done on builds from git.
5 years ago
Jason Ish 83630015b9 github-ci: make distcheck on centos 7 build
Tests distcheck on a build from a distribution archive.
5 years ago
Jason Ish b9515671be github-ci: use container for 18.04 build
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.
5 years ago
Jason Ish 69c00a77b5 github-ci: in a dist build, check that --frozen is being used
Verify that ./configure is picking up the vendored Rust sources
when building from a dist archive.
5 years ago
Jason Ish 3887f8d1f3 github-actions: builds for our tier one linux distributions
Example of using GitHub actions to perform builds across
CentOS, Ubuntu, Debian and the latest Fedora.
5 years ago