Commit graph

241 commits

Author SHA1 Message Date
Tim Wojtulewicz
ca2616e573 Modify Windows test cmd file to actually run tests 2023-04-26 09:17:52 -07:00
Arne Welzel
193352bb8c ci/debian-11: Install libnode-dev, too
Debian 11 doesn't have a new enough libnode version, so JavaScript
should not be attempted to be built.
2023-04-14 11:26:47 +02:00
Arne Welzel
f0b9c59adb Add experimental JavaScript support when libnode is available
zeek.on('zeek_init', () => {
        console.log('Hello, Zeek!');
    });

For interaction with external systems and HTTP APIs, JavaScript and the
Node.js ecosystem beat Zeek script. Make it more easily accessible by
including ZeekJS with Zeek directly.

When a recent enough libnode version is found on the build system, ZeekJS is
added as a builtin plugin. This behavior can be disabled via
``--disable-javascript``. Linux distributions providing such a package are
Ubuntu (22.10) and Debian (testing/bookworm) as libnode-dev.
Fedora provides it as nodejs-devel.

This plugin takes over loading of .js or .cjs files. When no such files
are provided to Zeek, Node and the V8 engine are not initialized and
should not get into the way.

This should be considered experimental.
2023-04-14 11:26:41 +02:00
Tim Wojtulewicz
505ac36e43 CI: Force rebuild of OpenSUSE Tumbleweed VM to pick up GCC 13 2023-04-11 11:55:34 -07:00
Arne Welzel
49e964d711 ci: Add debian-12 / bookworm
The next version of Debian (bookworm) had a hard-freeze on
2023-03-16. Seems reasonable to have it in CI now.
2023-04-05 12:57:22 +02:00
Arne Welzel
79ea84e5f4 ci/centos-stream-8: Add which command 2023-03-20 10:04:20 -07:00
Arne Welzel
dc068270ea Merge remote-tracking branch 'origin/topic/awelzel/2837-builtin-plugin-ci-take-two'
* origin/topic/awelzel/2837-builtin-plugin-ci-take-two:
  cirrus: Add smoke testing for builtin plugins
  ci/collect-repo-info: Make plugin VERSION reading more robust
  configure: Quote --include-plugins argument
  Fix --no-install-recommends typo
2023-03-13 09:41:12 +01:00
Tim Wojtulewicz
dfde432a37 Force rebuild of CentOS 7 CI image to pick up git install 2023-03-12 13:34:12 -07:00
Tim Wojtulewicz
3cc72c1c1b Pin conan to 1.58 on Windows until conan.cmake supports 2.0 2023-03-10 13:35:46 -07:00
Arne Welzel
42c1fc3e7d ci/collect-repo-info: Make plugin VERSION reading more robust
The zeek-kafak plugin's VERSION file contains a commented license
header followed by an empty line, followed by the actual version.

Attempt to deal with this by using the first non-commented non-empty
line.
2023-03-08 20:57:26 +01:00
Arne Welzel
cc6e012f36 ci/collect-repo-info: No hard dependency on git, take two
Collecting information about builtin external plugins also
tried to use `git` unconditionally.
2023-02-23 14:21:36 +01:00
Tim Wojtulewicz
473e309dd6 Use btest -A on CI to get more information about stuck tests 2023-02-22 16:57:06 -07:00
Tim Wojtulewicz
5db8acdf36 Use ensurepip to install pip on FreeBSD
The py39-pip package is sometimes not available on FreeBSD, and using
ensurepip is the recommended way to install pip according to the pip
documentation. ensurepip should be available in every python
installation.
2023-02-22 13:27:20 -07:00
Arne Welzel
f3253554d1 ci/collect-repo-info: No hard dependency on git
The OBS builds run in an environment where no git is installed and
release tarballs assembled manually.

Drop the hard-requirement on git from ci/collect-repo-info.json.
2023-02-22 18:12:32 +01:00
Arne Welzel
b9218b2ec7 ci/collect-repo-info.py: Recognize git worktrees, too
Benjamin reported ci/collect-repo-info.py failing for him in
Git worktrees, use `git` to actually check if we're in a repo.
2023-02-14 10:06:09 +01:00
Arne Welzel
3284259561 Add zeek -V/--build-info
This adds a new utility called ci/collect-repo-info.py to produce a JSON
document that is then baked into the Zeek executable file. Further, when
creating a tarball via `make dist`, put a top-level repo-info.json file
in place that is picked when no .git directory exists.

Closes #1405
2023-02-13 12:23:29 +01:00
Arne Welzel
357bdc71ad cirrus/container: Polish, fix and automated pushing of images
* Add ci/find-current-version.sh to figure out versions of lts and
  feature branch based on repository state.

* Do not use ZEEK_IMAGE_REPO for the local images that
  are expected to exist.

* Only use IMAGE_NAME/IMAGE_TAG instead of the ARCH and MANIFEST
  versions that contained the very same values

* Support and push additional tags

  In addition to the lts and feature tags, also push the base version
  tags. 5.0 or 5.1 such that someone pulling zeek/zeek:5.0 will get
  the most recent available 5.0 patch release.
2023-02-13 12:08:53 +01:00
Tim Wojtulewicz
62e29b5e20 CI: Call 'brew install' for macOS to ensure we're using openssl@3 on all hosts 2023-02-09 20:44:56 -07:00
Tim Wojtulewicz
885ed71464 CI: Fix the ThreadSanitizer build 2023-02-06 09:47:46 -07:00
Arne Welzel
5510b2496a cirrus: Add docker_builder tasks to build and push images 2023-02-01 08:52:05 +01:00
Tim Wojtulewicz
b18a2aafa3 Remove comment about osx-sysroot [nomail] [skip ci] 2023-01-30 15:41:37 -07:00
Tim Wojtulewicz
b437ca13f4 Remove setting osx-sysroot on macOS CI builds 2023-01-30 11:57:34 -07:00
Tim Wojtulewicz
b522f6ea08 Fix CI benchmark script to properly urlencode arguments 2023-01-24 14:53:46 -07:00
Tim Wojtulewicz
991652f479 Use newer diff on Alpine for --strip-trailing-ci 2023-01-19 09:13:33 -07:00
Johanna Amann
12dd21cbe5 Remove outdated distributions from CI.
Fedora 35: CI folder was forgotten during removal

Opensuse Leap 15.3: EOL was 2022

Openssl-3: No longer necessary, since part of distributions (e.g. Ubuntu
22.10)
2023-01-18 14:42:54 +00:00
Tim Wojtulewicz
555f705e2d CI: drop macOS Big Sur, add macOS Ventura 2023-01-03 08:33:00 -07:00
Arne Welzel
c61fdc7866 ci/alpine: Use musl-fts-dev rather than fts-dev
With the release of alpine 3.17 (2022-11-22), the fts-dev package
was renamed to musl-fts-dev. Change it accordingly.

This is currently breaking CI in a fork of zeek/zeek. Suspect some
caching prevents it from breaking here currently.

Alpine 3.16 is still supported till 2024-05-23, but we're essentially
not doing CI testing for it anymore. Appears to be in line with the
comment in .cirrus.yml
2022-12-01 09:17:09 +01:00
Christian Kreibich
417ff10a0a CI: add Fedora 37 2022-11-27 19:33:52 -08:00
Josh Soref
f04e0f3ac4 spelling: organization
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-15 17:47:49 -05:00
Josh Soref
9c42b92a2b spelling: invalidate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-15 17:47:36 -05:00
Tim Wojtulewicz
2bdc8dd3a4 Cirrus configuration for Windows builds 2022-11-09 18:16:13 +02:00
Tomer Lev
6307158b04 Updating dependencies in the dockerfile and removing redundant from conanfile.txt 2022-11-09 18:16:13 +02:00
Elad Solomon
27d0bbde0f Updated dockerfile for Windows 2022-11-09 18:15:34 +02:00
Elad Solomon
032f0587f4 Updated windows dockerfile 2022-11-09 18:15:34 +02:00
Tomer Lev
62e2f85d2f Manually patched 2 commits from zeek github
In case transport layer has zero length and we are ignoring checksums, calculate the length ourselvs. This happens due to protocol fragmantation
2022-11-09 18:15:34 +02:00
PIE Easy Start
b712f00b7e Adding CI files 2022-11-09 18:15:34 +02:00
Tim Wojtulewicz
d352ace4d2 Add conanfile for windows builds 2022-11-09 18:15:34 +02:00
Elad Solomon
235ec2565f Updated build script to keep build output 2022-11-09 18:15:33 +02:00
Elad Solomon
3a80b79497 Compile Zeek with MSVC
Allow Zeek to be embedded in another project
2022-11-09 18:15:30 +02:00
Tim Wojtulewicz
3fafe5c19f Merge remote-tracking branch 'origin/topic/johanna/ubuntu2210ci'
* origin/topic/johanna/ubuntu2210ci:
  Add Ubuntu 22.10 to ci
2022-11-03 08:56:43 -07:00
Johanna Amann
36484eaf34 Add Ubuntu 22.10 to ci 2022-11-03 10:08:12 +00:00
Tim Wojtulewicz
d442ea1bb9 egrep reported as obsolete by opensuse-tumbleweed builds 2022-10-27 11:48:43 -07:00
Tim Wojtulewicz
d8b31de1a2 Move fuzzer corpus files to another directory 2022-08-26 13:51:30 -07:00
Tim Wojtulewicz
a927c4a998 Switch macOS Monterey build to new m1-based VM 2022-08-25 12:54:12 -07:00
Tim Wojtulewicz
47bcd2cbeb GH-2258: Add skip decorator to DNS unit tests 2022-07-13 12:33:17 -07:00
Christian Kreibich
963b27f054 Add procps/procps-ng to several CI Docker images
It helps to have "ps" available for testing.
2022-07-09 00:52:44 -07:00
Christian Kreibich
39f98778e4 CI: Add OpenSUSE Tumbleweed 2022-07-05 16:21:47 -07:00
Christian Kreibich
2c263aa6c7 CI: drop Ubuntu 21.10, EOL 2022-07-14 2022-07-05 13:53:51 -07:00
Christian Kreibich
a2b73f3586 CI: drop Debian 9, EOL 2022-06-30 2022-07-05 13:53:36 -07:00
Christian Kreibich
bf9b1ebbbe Add helpers for syncing commit files with external testsuites
This provides "make sync-repos" to check out all locally available testsuites at
the commits indicated in their commit files, and "make sync-commits" to update
the commit files to the HEADs of the local testsuite repos.

Also adds the commit -> repo sync for the Makefile init target so initialization
always lands on the right version, and removes the corresponding explicit
checkout from the CI repo setup.
2022-06-28 13:20:14 -07:00