2020-12-09 21:10:42 +00:00
|
|
|
|
# In the interest of reliability and performance, please avoid installing
|
|
|
|
|
# external dependencies here, e.g. via tools/*-setup.sh, apt, dnf, or yum.
|
|
|
|
|
# Do so in the appropriate Dockerfile at
|
|
|
|
|
# https://gitlab.com/wireshark/wireshark-containers/ instead.
|
|
|
|
|
# The resulting images can be found at
|
2021-10-01 20:29:15 +00:00
|
|
|
|
# https://gitlab.com/wireshark/wireshark-containers/container_registry
|
2020-12-09 21:10:42 +00:00
|
|
|
|
|
2021-04-29 19:10:51 +00:00
|
|
|
|
stages:
|
|
|
|
|
- build
|
|
|
|
|
- analysis
|
|
|
|
|
- test
|
2021-05-06 01:38:13 +00:00
|
|
|
|
- fuzz-asan
|
|
|
|
|
- fuzz-randpkt
|
|
|
|
|
- fuzz-valgrind
|
2021-04-29 19:10:51 +00:00
|
|
|
|
|
2020-12-21 23:03:49 +00:00
|
|
|
|
variables:
|
2021-03-11 21:56:44 +00:00
|
|
|
|
# Ensure that checkouts are a) fast and b) have a reachable tag. In a
|
|
|
|
|
# brighter, more glorious future we might be able to use --shallow-since:
|
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3460
|
|
|
|
|
# In the mean time, fetching the last 5000 commits does the job.
|
2022-10-24 14:04:39 +00:00
|
|
|
|
# Ensure that all variables are string
|
2021-03-11 21:56:44 +00:00
|
|
|
|
GIT_DEPTH: "1"
|
|
|
|
|
GIT_FETCH_EXTRA_FLAGS: "--depth=5000"
|
2020-12-21 23:03:49 +00:00
|
|
|
|
CCACHE_DIR: "${CI_PROJECT_DIR}/ccache"
|
2023-09-23 00:50:57 +00:00
|
|
|
|
# Enable color output in various tools.
|
|
|
|
|
# CMake, Ninja, and others: https://bixense.com/clicolors/
|
2022-10-24 14:04:39 +00:00
|
|
|
|
CLICOLOR_FORCE: "1"
|
2023-09-23 00:50:57 +00:00
|
|
|
|
# pytest
|
|
|
|
|
FORCE_COLOR: "1"
|
|
|
|
|
# Homebrew
|
|
|
|
|
HOMEBREW_COLOR: "1"
|
2022-04-19 12:52:05 +00:00
|
|
|
|
# Skip irrelevant SAST scanners:
|
2022-04-28 13:34:00 +00:00
|
|
|
|
SAST_EXCLUDED_ANALYZERS: "brakeman,eslint,security-code-scan,semgrep,spotbugs"
|
2020-12-21 23:03:49 +00:00
|
|
|
|
|
2021-05-01 01:13:01 +00:00
|
|
|
|
# Scheduled builds additionally set SCHEDULE_TYPE, which can be one of:
|
2022-11-15 21:47:45 +00:00
|
|
|
|
# - 2x-daily: Twice daily at 07:00 and 19:00 UTC
|
2021-04-30 15:56:29 +00:00
|
|
|
|
# - daily: Daily at 10:00 UTC
|
2022-11-15 21:47:45 +00:00
|
|
|
|
# - weekly: Sunday at 14:00 UTC
|
2021-04-30 15:56:29 +00:00
|
|
|
|
# - coverity-visual-c++: Monday, Wednesday, & Friday at 12:00 UTC
|
|
|
|
|
# - coverity-gcc: Sunday, Tuesday, Thursday & Saturday at 12:00 UTC
|
|
|
|
|
|
2021-05-02 16:39:21 +00:00
|
|
|
|
# Common rule stanzas
|
|
|
|
|
# These must currently be including using "!reference tags". "extends:" and
|
|
|
|
|
# YAML anchors won't work:
|
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab/-/issues/322992
|
2021-04-30 17:49:11 +00:00
|
|
|
|
|
|
|
|
|
# Commits that have been approved and merged. Run automatically in the main
|
2021-05-07 18:49:51 +00:00
|
|
|
|
# repo and allow manual runs in the web UI and in forks.
|
2023-11-01 20:50:19 +00:00
|
|
|
|
# Release builds: CI_PIPELINE_SOURCE=api
|
2021-04-30 17:49:11 +00:00
|
|
|
|
.if-merged:
|
2023-11-01 20:50:19 +00:00
|
|
|
|
# Regular commits: CI_PIPELINE_SOURCE=push, CI_COMMIT_BRANCH=master
|
2021-10-05 19:50:25 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
2023-11-01 20:50:19 +00:00
|
|
|
|
# "Run pipeline" button commits, cherry picks
|
2023-07-28 17:28:24 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRANCH == "master" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
2023-11-01 20:50:19 +00:00
|
|
|
|
# Tagged release builds: CI_PIPELINE_SOURCE=api (should be "web"?)
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "api"'
|
2021-05-02 16:39:21 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_URL !~ /.*gitlab.com\/wireshark\/wireshark/'
|
|
|
|
|
when: manual
|
2021-06-29 17:39:00 +00:00
|
|
|
|
# Merged commits for runners which are only available in
|
|
|
|
|
# wireshark/wireshark, e.g. wireshark-windows-*. Run automatically in
|
|
|
|
|
# the main repo and allow manual runs in the web UI.
|
|
|
|
|
.if-w-w-only-merged:
|
2023-11-01 17:14:51 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRANCH == "master" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
2023-11-01 20:50:19 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "api"'
|
2021-04-30 17:49:11 +00:00
|
|
|
|
# Incoming merge requests.
|
|
|
|
|
.if-merge-request:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
2021-04-30 17:49:11 +00:00
|
|
|
|
# Incoming non-detached merge requests. Must be used for runners which are only
|
|
|
|
|
# available in wireshark/wireshark, e.g. wireshark-windows-*
|
2021-06-29 17:39:00 +00:00
|
|
|
|
.if-w-w-only-merge-request:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
2022-11-15 21:47:45 +00:00
|
|
|
|
# Scheduled jobs. Care should be taken when changing this since the scheduler
|
2021-05-02 16:39:21 +00:00
|
|
|
|
# often doesn't report errors.
|
2022-11-15 21:47:45 +00:00
|
|
|
|
.if-weekly-schedule:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "weekly"'
|
2021-05-02 16:39:21 +00:00
|
|
|
|
.if-daily-schedule:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "daily"'
|
2022-10-21 16:47:28 +00:00
|
|
|
|
.if-2x-daily-schedule:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "2x-daily"'
|
2021-05-04 19:22:32 +00:00
|
|
|
|
# Fuzz jobs. Care should be taken when changing this since the scheduler
|
|
|
|
|
# often doesn't report errors.
|
|
|
|
|
.if-fuzz-schedule:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "fuzz"'
|
2021-04-30 17:49:11 +00:00
|
|
|
|
|
2021-08-03 04:27:57 +00:00
|
|
|
|
.build-linux:
|
2019-04-10 10:52:52 +00:00
|
|
|
|
stage: build
|
2021-08-03 04:27:57 +00:00
|
|
|
|
tags:
|
|
|
|
|
- docker
|
2023-11-01 17:14:51 +00:00
|
|
|
|
before_script:
|
|
|
|
|
- printf "\e[0Ksection_start:%s:ci_env_section[collapsed=true]\r\e[0KCI environment variables" "$(date +%s)"
|
|
|
|
|
- env | grep ^CI | sort
|
|
|
|
|
- printf "\e[0Ksection_end:%s:ci_env_section\r\e[0K" "$(date +%s)"
|
2019-04-10 10:52:52 +00:00
|
|
|
|
after_script:
|
2022-10-21 16:47:28 +00:00
|
|
|
|
- for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build obj-*; do [ ! -d "$builddir/run" ] || break; done
|
2020-03-11 22:18:21 +00:00
|
|
|
|
- if [[ "$CI_JOB_NAME" == "build:rpm-opensuse-"* ]]; then export LD_LIBRARY_PATH=$builddir/run; fi
|
2019-04-10 10:52:52 +00:00
|
|
|
|
- if [ -f $builddir/run/tshark ]; then $builddir/run/tshark --version; fi
|
2020-12-24 13:11:51 +00:00
|
|
|
|
needs: []
|
2019-05-04 21:02:33 +00:00
|
|
|
|
|
2021-08-03 04:27:57 +00:00
|
|
|
|
.test-linux:
|
|
|
|
|
stage: test
|
|
|
|
|
tags:
|
|
|
|
|
- docker
|
|
|
|
|
variables:
|
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
|
|
2020-12-21 16:19:29 +00:00
|
|
|
|
.build-ubuntu:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .build-linux
|
2021-10-01 22:27:11 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/ubuntu-dev
|
2018-06-08 08:36:16 +00:00
|
|
|
|
retry: 1
|
2020-09-01 21:41:02 +00:00
|
|
|
|
# https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
|
|
|
|
|
cache:
|
|
|
|
|
# XXX Use ${CI_JOB_NAME}-${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} instead?
|
|
|
|
|
key: ${CI_JOB_NAME}-master
|
|
|
|
|
paths:
|
|
|
|
|
- ccache/
|
2018-06-08 08:36:16 +00:00
|
|
|
|
before_script:
|
2023-10-18 21:12:47 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:ci_env_section[collapsed=true]\r\e[0KCI environment variables" "$(date +%s)"
|
|
|
|
|
- env | grep ^CI | sort
|
|
|
|
|
- printf "\e[0Ksection_end:%s:ci_env_section\r\e[0K" "$(date +%s)"
|
2019-04-12 14:32:32 +00:00
|
|
|
|
- useradd user
|
|
|
|
|
- export LANG=en_US.UTF-8
|
|
|
|
|
- export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark
|
2020-09-01 21:41:02 +00:00
|
|
|
|
- mkdir -p ccache
|
|
|
|
|
- ccache --show-stats
|
2022-07-21 08:02:44 +00:00
|
|
|
|
- export DEB_BUILD_OPTIONS="nocheck parallel=$(( $(getconf _NPROCESSORS_ONLN) + 2 ))"
|
2020-09-09 20:20:46 +00:00
|
|
|
|
- export DH_QUIET=1
|
|
|
|
|
- export MAKEFLAGS=--silent
|
2021-12-27 21:55:48 +00:00
|
|
|
|
- NUM_COMMITS=$(curl $CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/commits | jq length)
|
|
|
|
|
- echo "$NUM_COMMITS commit(s) in this MR"
|
2018-06-08 08:36:16 +00:00
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2019-05-12 20:33:34 +00:00
|
|
|
|
script:
|
2020-12-09 17:13:42 +00:00
|
|
|
|
# setcap restricts our library paths
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-08-25 19:15:16 +00:00
|
|
|
|
- CFLAGS=-Wl,-rpath=$(pwd)/run CXXFLAGS=-Wl,-rpath=$(pwd)/run cmake -GNinja -DENABLE_CCACHE=ON $CMAKE_ARGS ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2019-05-12 20:33:34 +00:00
|
|
|
|
- ninja
|
2020-12-21 20:09:55 +00:00
|
|
|
|
- ninja install
|
2022-01-07 02:25:40 +00:00
|
|
|
|
after_script:
|
|
|
|
|
# The cache should be large enough to be useful but it shouldn't take
|
|
|
|
|
# too long to restore+save each run.
|
2023-09-25 22:09:11 +00:00
|
|
|
|
- cd "$CI_PROJECT_DIR"
|
|
|
|
|
- ccache --max-size $( du --total --summarize --block-size=1M *build*/ | awk 'END {printf ("%dM", $1 * 1.5)}' )
|
2019-05-12 20:33:34 +00:00
|
|
|
|
|
2020-12-21 16:19:29 +00:00
|
|
|
|
.build-rpm:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .build-linux
|
2022-10-21 16:47:28 +00:00
|
|
|
|
rules: !reference [.if-2x-daily-schedule]
|
2020-12-24 13:11:51 +00:00
|
|
|
|
before_script:
|
2022-10-25 19:23:23 +00:00
|
|
|
|
# Hack to let ninja make full use of the system on Fedora and Rocky.
|
|
|
|
|
- export RPM_BUILD_NCPUS=$(( $( getconf _NPROCESSORS_ONLN ) + 2 ))
|
2020-12-24 13:11:51 +00:00
|
|
|
|
- git config --global user.email "you@example.com"
|
|
|
|
|
- git config --global user.name "Your Name"
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2022-07-11 22:30:17 +00:00
|
|
|
|
- ../tools/make-version.py --set-release ..
|
2021-01-08 19:04:00 +00:00
|
|
|
|
- mv -v ../wireshark-*.tar.* .
|
2019-01-17 09:13:09 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- build/packaging/rpm/RPMS
|
|
|
|
|
expire_in: 3 days
|
2021-05-03 20:22:51 +00:00
|
|
|
|
needs:
|
2021-05-07 19:03:00 +00:00
|
|
|
|
- 'Source Package'
|
2021-05-03 20:22:51 +00:00
|
|
|
|
|
|
|
|
|
.test-rpm:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .test-linux
|
2022-10-21 18:42:16 +00:00
|
|
|
|
rules: !reference [.if-2x-daily-schedule]
|
2019-05-12 20:33:34 +00:00
|
|
|
|
|
2021-04-05 18:35:23 +00:00
|
|
|
|
.build-windows:
|
|
|
|
|
stage: build
|
2021-07-25 21:59:35 +00:00
|
|
|
|
retry: 1
|
2021-04-05 18:35:23 +00:00
|
|
|
|
before_script:
|
2021-04-09 17:39:45 +00:00
|
|
|
|
- if (-Not (Test-Path C:\Development)) { New-Item -Path C:\Development -ItemType "directory" }
|
2021-04-05 18:35:23 +00:00
|
|
|
|
- $env:WIRESHARK_BASE_DIR = "C:\Development"
|
|
|
|
|
- $env:Configuration = "RelWithDebInfo"
|
2021-12-18 20:32:50 +00:00
|
|
|
|
- $env:Path += ";C:\Program Files\CMake\bin"
|
2023-09-28 17:55:11 +00:00
|
|
|
|
- $env:CMAKE_PREFIX_PATH = "C:\qt\6.5.3\msvc2019_64"
|
2021-04-05 18:35:23 +00:00
|
|
|
|
# https://help.appveyor.com/discussions/questions/18777-how-to-use-vcvars64bat-from-powershell
|
2022-01-16 00:00:51 +00:00
|
|
|
|
- cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
2021-04-05 18:35:23 +00:00
|
|
|
|
- Get-Content "$env:temp\vcvars.txt" | Foreach-Object { if ($_ -match "^(.*?)=(.*)$") { Set-Content "env:\$($matches[1])" $matches[2] } }
|
|
|
|
|
# Testing / debugging only.
|
|
|
|
|
# - cmd.exe /c "set CI_PIPELINE_SOURCE"
|
|
|
|
|
# - cmd.exe /c "set CI_PROJECT_URL"
|
|
|
|
|
#- dir c:\
|
|
|
|
|
#- dir c:\qt
|
|
|
|
|
#- $env:path.split(";")
|
|
|
|
|
#- cmd.exe /c "set"
|
|
|
|
|
#- Get-Location
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2021-04-06 23:52:43 +00:00
|
|
|
|
needs: []
|
2021-04-05 18:35:23 +00:00
|
|
|
|
|
2023-02-02 00:38:01 +00:00
|
|
|
|
# macOS runners are still beta:
|
|
|
|
|
# https://about.gitlab.com/blog/2021/08/23/build-cloud-for-macos-beta/
|
|
|
|
|
# https://docs.gitlab.com/ee/ci/runners/saas/macos/environment.html#vm-images
|
|
|
|
|
# https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/macstadium/orka/-/blob/main/toolchain/monterey.yml
|
|
|
|
|
.build-macos:
|
|
|
|
|
stage: build
|
2023-12-01 02:55:53 +00:00
|
|
|
|
tags: [ saas-macos-medium-m1 ] # https://docs.gitlab.com/ee/ci/runners/saas/macos/environment.html
|
2023-02-02 00:38:01 +00:00
|
|
|
|
retry: 1
|
|
|
|
|
# https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
|
|
|
|
|
cache:
|
|
|
|
|
key: ${CI_JOB_NAME}-master
|
|
|
|
|
paths:
|
|
|
|
|
- ccache/
|
|
|
|
|
variables:
|
|
|
|
|
HOMEBREW_DISPLAY_INSTALL_TIMES: "1"
|
|
|
|
|
HOMEBREW_NO_INSTALL_CLEANUP: "1"
|
|
|
|
|
HOMEBREW_NO_INSTALL_UPGRADE: "1"
|
|
|
|
|
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "1"
|
2023-10-16 10:03:35 +00:00
|
|
|
|
HOMEBREW_NO_UPDATE_REPORT_NEW: "1"
|
2023-02-02 00:38:01 +00:00
|
|
|
|
before_script:
|
2023-10-18 21:12:47 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:ci_env_section[collapsed=true]\r\e[0KCI environment variables" "$(date +%s)"
|
|
|
|
|
- env | grep ^CI | sort
|
|
|
|
|
- printf "\e[0Ksection_end:%s:ci_env_section\r\e[0K" "$(date +%s)"
|
2023-10-16 10:03:35 +00:00
|
|
|
|
- brew --version
|
2023-02-02 00:38:01 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:brew_section[collapsed=true]\r\e[0KInstalling prerequisites" "$( date +%s)"
|
2023-10-13 20:17:44 +00:00
|
|
|
|
- ./tools/macos-setup-brew.sh --install-optional --install-test-deps
|
2023-02-02 00:38:01 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:brew_section\r\e[0K" "$( date +%s)"
|
|
|
|
|
- export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark
|
|
|
|
|
- mkdir -p ccache
|
|
|
|
|
- ccache --show-stats
|
|
|
|
|
- NUM_COMMITS=$(curl $CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/commits | jq length)
|
|
|
|
|
- echo "$NUM_COMMITS commit(s) in this MR"
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
|
|
|
|
script:
|
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2023-08-16 13:31:11 +00:00
|
|
|
|
- cmake -G Ninja -DENABLE_CCACHE=ON -DLUA_FIND_VERSIONS=ANY -DTEST_EXTRA_ARGS=--disable-capture ..
|
2023-02-02 00:38:01 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
|
|
|
|
- ninja
|
|
|
|
|
- ninja test-programs
|
2023-05-12 08:13:46 +00:00
|
|
|
|
- pytest
|
2023-02-02 00:38:01 +00:00
|
|
|
|
after_script:
|
|
|
|
|
# The cache should be large enough to be useful but it shouldn't take
|
|
|
|
|
# too long to restore+save each run.
|
|
|
|
|
- ccache --max-size $( gdu --summarize --block-size=1M "$CI_PROJECT_DIR/build" | awk '{printf ("%dM", $1 * 1.5)}' )
|
|
|
|
|
needs: []
|
|
|
|
|
|
2023-09-27 10:59:22 +00:00
|
|
|
|
.build-mingw:
|
|
|
|
|
stage: build
|
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/mingw-dev
|
|
|
|
|
tags:
|
|
|
|
|
- docker
|
|
|
|
|
cache:
|
|
|
|
|
# XXX Use ${CI_JOB_NAME}-${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} instead?
|
|
|
|
|
key: ${CI_JOB_NAME}-master
|
|
|
|
|
paths:
|
|
|
|
|
- ccache/
|
|
|
|
|
before_script:
|
2023-10-18 21:12:47 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:ci_env_section[collapsed=true]\r\e[0KCI environment variables" "$(date +%s)"
|
|
|
|
|
- env | grep ^CI | sort
|
|
|
|
|
- printf "\e[0Ksection_end:%s:ci_env_section\r\e[0K" "$(date +%s)"
|
2023-09-27 10:59:22 +00:00
|
|
|
|
- mkdir -p ccache
|
|
|
|
|
- ccache --show-stats
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
|
|
|
|
script:
|
|
|
|
|
- mingw64-cmake -G Ninja -DENABLE_CCACHE=Yes -DFETCH_lua=Yes ..
|
|
|
|
|
- ninja
|
|
|
|
|
after_script:
|
|
|
|
|
# The cache should be large enough to be useful but it shouldn't take
|
|
|
|
|
# too long to restore+save each run.
|
|
|
|
|
- ccache --max-size $( du --summarize --block-size=1M "$CI_PROJECT_DIR/build" | awk '{printf ("%dM", $1 * 1.5)}' )
|
|
|
|
|
needs: []
|
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Source Package:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
extends: .build-ubuntu
|
2020-12-24 13:11:51 +00:00
|
|
|
|
stage: .pre
|
2022-10-21 16:47:28 +00:00
|
|
|
|
rules:
|
2023-08-25 17:19:38 +00:00
|
|
|
|
- !reference [.if-w-w-only-merged]
|
2022-10-21 16:47:28 +00:00
|
|
|
|
- !reference [.if-2x-daily-schedule]
|
2020-12-07 20:35:33 +00:00
|
|
|
|
script:
|
2024-01-03 19:16:23 +00:00
|
|
|
|
- ../tools/make-version.py --set-release --version-file=wireshark_version.txt ..
|
2023-10-06 19:27:14 +00:00
|
|
|
|
- ../tools/update-appdata.py
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-10-21 16:47:28 +00:00
|
|
|
|
- cmake -G Ninja $CMAKE_ARGS ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2020-12-22 10:59:00 +00:00
|
|
|
|
- cd $CI_PROJECT_DIR
|
|
|
|
|
- build/packaging/source/git-export-release.sh -d .
|
2024-01-03 19:16:23 +00:00
|
|
|
|
- cd build
|
|
|
|
|
- ninja release_notes
|
|
|
|
|
- WIRESHARK_VERSION=$(< wireshark_version.txt)
|
|
|
|
|
- cp -v doc/release-notes.html ../release-notes-${WIRESHARK_VERSION}.html
|
|
|
|
|
- cp -v doc/release-notes.txt ../release-notes-${WIRESHARK_VERSION}.txt
|
2020-12-21 20:09:55 +00:00
|
|
|
|
after_script:
|
2020-12-21 23:07:37 +00:00
|
|
|
|
# - ccache --max-size $( du --summarize --block-size=1M "$CI_PROJECT_DIR/build" | awk '{printf ("%dM", $1 * 1.5)}' )
|
2024-01-03 19:16:23 +00:00
|
|
|
|
- if [ -n "$SCHEDULE_TYPE" ] ; then exit 0 ; fi
|
2021-08-27 18:58:41 +00:00
|
|
|
|
- stat --format="%n %s bytes" wireshark-*.tar.*
|
2022-09-07 17:37:35 +00:00
|
|
|
|
- for digest in sha512 sha256 sha1 ; do openssl $digest wireshark-*.tar.* ; done
|
2020-12-21 20:09:55 +00:00
|
|
|
|
# This will break if we produce multiple tarballs, which is arguably a good thing.
|
2021-12-11 17:25:29 +00:00
|
|
|
|
- if [ -n "$S3_DESTINATION_DIST" ] ; then aws s3 cp wireshark-*.tar.* "$S3_DESTINATION_DIST/" ; fi
|
2024-01-03 19:16:23 +00:00
|
|
|
|
- |
|
|
|
|
|
if [ -n "$S3_DESTINATION_RELEASE" ] ; then
|
|
|
|
|
aws s3 cp release-notes-*.txt "$S3_DESTINATION_RELEASE/"
|
|
|
|
|
aws s3 cp release-notes-*.html "$S3_DESTINATION_RELEASE/"
|
|
|
|
|
fi
|
2020-12-21 20:09:55 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- wireshark-*.tar.*
|
2020-12-07 20:35:33 +00:00
|
|
|
|
|
2019-05-10 19:25:54 +00:00
|
|
|
|
# Job to generate packages for Debian stable
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Debian Stable APT Package:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .build-linux
|
2022-10-21 16:47:28 +00:00
|
|
|
|
rules: !reference [.if-2x-daily-schedule]
|
2021-10-01 22:27:11 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/debian-stable-dev
|
2019-05-10 19:25:54 +00:00
|
|
|
|
script:
|
2022-02-10 19:17:23 +00:00
|
|
|
|
- ln --symbolic --no-dereference --force packaging/debian
|
2022-07-11 22:30:17 +00:00
|
|
|
|
- tools/make-version.py --set-release .
|
2019-05-10 19:25:54 +00:00
|
|
|
|
# Shared GitLab runners limit the log size to 4M, so reduce verbosity. See
|
|
|
|
|
# https://gitlab.com/gitlab-com/support-forum/issues/2790
|
2022-07-25 18:10:17 +00:00
|
|
|
|
- export DEB_BUILD_OPTIONS="nocheck parallel=$(( $(getconf _NPROCESSORS_ONLN) + 2 ))"
|
2021-02-15 02:48:00 +00:00
|
|
|
|
- export DH_QUIET=1
|
|
|
|
|
- export MAKEFLAGS=--silent
|
2022-09-06 22:27:47 +00:00
|
|
|
|
- CC=/usr/lib/ccache/gcc CXX=/usr/lib/ccache/g++ dpkg-buildpackage -b --no-sign -jauto -zfast
|
2023-11-18 19:57:22 +00:00
|
|
|
|
# Please don't add a Lintian step unless you can guarantee that someone
|
|
|
|
|
# will fix any breakages that invariably pop up.
|
2019-05-10 19:25:54 +00:00
|
|
|
|
- mkdir debian-packages
|
2023-11-18 19:57:22 +00:00
|
|
|
|
- mv -v ../*.deb debian-packages/
|
2019-05-10 19:25:54 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- debian-packages/*.deb
|
|
|
|
|
expire_in: 3 days
|
2022-08-25 08:13:17 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Debian Stable APT Test:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .test-linux
|
2022-10-21 16:47:28 +00:00
|
|
|
|
rules: !reference [.if-2x-daily-schedule]
|
2021-10-01 22:27:11 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/debian-stable-dev
|
2020-05-31 21:34:00 +00:00
|
|
|
|
stage: test
|
|
|
|
|
script:
|
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get install ./debian-packages/*.deb -y
|
|
|
|
|
- tshark --version
|
|
|
|
|
variables:
|
|
|
|
|
GIT_STRATEGY: none
|
2021-05-07 19:03:00 +00:00
|
|
|
|
needs: [ 'Debian Stable APT Package' ]
|
2020-08-18 23:00:32 +00:00
|
|
|
|
|
2022-01-06 01:55:51 +00:00
|
|
|
|
Fedora RPM Package:
|
|
|
|
|
extends: .build-rpm
|
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/fedora-dev
|
|
|
|
|
script:
|
|
|
|
|
# Shared GitLab runners limit the log size to 4M, so reduce verbosity. See
|
|
|
|
|
# https://gitlab.com/gitlab-com/support-forum/issues/2790
|
|
|
|
|
- export FORCE_CMAKE_NINJA_NON_VERBOSE=1
|
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-10-21 16:47:28 +00:00
|
|
|
|
- cmake3 -G Ninja ..
|
2022-01-06 01:55:51 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2022-06-08 16:29:59 +00:00
|
|
|
|
- ninja wireshark_rpm
|
2022-08-25 08:13:17 +00:00
|
|
|
|
|
2022-01-06 01:55:51 +00:00
|
|
|
|
# Fedora RPM Test:
|
|
|
|
|
# extends: .test-rpm
|
|
|
|
|
# image: fedora
|
|
|
|
|
# script:
|
|
|
|
|
# - dnf install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
|
# - tshark --version
|
|
|
|
|
# needs: [ 'Fedora RPM Package' ]
|
|
|
|
|
|
2023-10-19 00:59:53 +00:00
|
|
|
|
openSUSE 15.5 RPM Package:
|
2022-01-06 01:55:51 +00:00
|
|
|
|
extends: .build-rpm
|
2023-10-19 00:59:53 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/opensuse-15.5-dev
|
2022-01-06 01:55:51 +00:00
|
|
|
|
script:
|
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-10-21 16:47:28 +00:00
|
|
|
|
- cmake -G Ninja -DUSE_qt6=OFF ..
|
2022-01-06 01:55:51 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2022-06-08 16:29:59 +00:00
|
|
|
|
- ninja wireshark_rpm
|
2022-08-25 08:13:17 +00:00
|
|
|
|
|
2023-10-19 00:59:53 +00:00
|
|
|
|
openSUSE 15.5 RPM Test:
|
2022-01-06 01:55:51 +00:00
|
|
|
|
extends: .test-rpm
|
2023-10-19 00:59:53 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/opensuse-15.5-dev
|
2022-01-06 01:55:51 +00:00
|
|
|
|
script:
|
|
|
|
|
- zypper --no-gpg-checks --no-remote install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
|
- tshark --version
|
2023-10-19 00:59:53 +00:00
|
|
|
|
needs: [ 'openSUSE 15.5 RPM Package' ]
|
2022-01-06 01:55:51 +00:00
|
|
|
|
|
2022-07-24 00:02:48 +00:00
|
|
|
|
Rocky Linux 9 RPM Package:
|
2022-01-06 01:55:51 +00:00
|
|
|
|
extends: .build-rpm
|
2022-07-24 00:02:48 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/rockylinux-9-dev
|
2022-01-06 01:55:51 +00:00
|
|
|
|
script:
|
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-10-21 16:47:28 +00:00
|
|
|
|
- cmake -G Ninja -DUSE_qt6=OFF ..
|
2022-01-06 01:55:51 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2022-07-24 20:31:52 +00:00
|
|
|
|
- ninja wireshark_rpm
|
2022-08-25 08:13:17 +00:00
|
|
|
|
|
2022-07-24 00:02:48 +00:00
|
|
|
|
Rocky Linux 9 RPM Test:
|
2022-01-06 01:55:51 +00:00
|
|
|
|
extends: .test-rpm
|
2022-07-24 00:02:48 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/rockylinux-9-dev
|
2022-01-06 01:55:51 +00:00
|
|
|
|
script:
|
|
|
|
|
- dnf --nogpgcheck localinstall -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
|
- tshark --version
|
2022-07-24 00:02:48 +00:00
|
|
|
|
needs: [ 'Rocky Linux 9 RPM Package' ]
|
2022-01-06 01:55:51 +00:00
|
|
|
|
|
2022-01-07 02:25:40 +00:00
|
|
|
|
Ubuntu APT Package:
|
|
|
|
|
extends: .build-ubuntu
|
2022-10-21 16:47:28 +00:00
|
|
|
|
rules: !reference [.if-2x-daily-schedule]
|
2022-01-07 02:25:40 +00:00
|
|
|
|
script:
|
|
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
|
- cd ..
|
2022-02-10 19:17:23 +00:00
|
|
|
|
- ln --symbolic --no-dereference --force packaging/debian
|
2022-09-06 22:27:47 +00:00
|
|
|
|
- CC=/usr/lib/ccache/gcc CXX=/usr/lib/ccache/g++ MAKE=ninja dpkg-buildpackage -us -uc -rfakeroot -jauto -zfast
|
2023-11-18 19:57:22 +00:00
|
|
|
|
# Please don't add a Lintian step unless you can guarantee that someone
|
|
|
|
|
# will fix any breakages that invariably pop up.
|
2022-01-07 02:25:40 +00:00
|
|
|
|
- mkdir ubuntu-packages
|
|
|
|
|
- mv ../*.deb ubuntu-packages/
|
|
|
|
|
after_script:
|
|
|
|
|
# dpkg-buildpackage builds in obj-<triplet>, so we need to override
|
|
|
|
|
# .build-ubuntu. We also build more stuff, so decrease our multiplier.
|
|
|
|
|
- ccache --max-size $( du --summarize --block-size=1M --total "$CI_PROJECT_DIR"/obj-* | awk '/total$/ {printf ("%dM", $1 * 1.25)}' )
|
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- ubuntu-packages/*.deb
|
|
|
|
|
expire_in: 3 days
|
2022-08-25 08:13:17 +00:00
|
|
|
|
|
2022-01-07 02:25:40 +00:00
|
|
|
|
Ubuntu APT Test:
|
|
|
|
|
extends: .test-linux
|
2022-10-21 16:47:28 +00:00
|
|
|
|
rules: !reference [.if-2x-daily-schedule]
|
2022-01-07 02:25:40 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/ubuntu-dev
|
|
|
|
|
stage: test
|
|
|
|
|
script:
|
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get install ./ubuntu-packages/*.deb -y
|
|
|
|
|
- tshark --version
|
|
|
|
|
variables:
|
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
|
needs: [ 'Ubuntu APT Package' ]
|
|
|
|
|
|
2023-05-23 02:04:37 +00:00
|
|
|
|
Windows x64 Package:
|
2021-06-15 01:32:25 +00:00
|
|
|
|
extends: .build-windows
|
2021-06-29 17:39:00 +00:00
|
|
|
|
rules: !reference [.if-w-w-only-merged]
|
2021-06-15 01:32:25 +00:00
|
|
|
|
tags:
|
2023-07-20 17:19:13 +00:00
|
|
|
|
- wireshark-windows-x64-package
|
2021-06-15 01:32:25 +00:00
|
|
|
|
before_script:
|
|
|
|
|
- $env:WIRESHARK_BASE_DIR = "C:\Development"
|
|
|
|
|
- $env:Configuration = "RelWithDebInfo"
|
2023-09-28 17:55:11 +00:00
|
|
|
|
- $env:CMAKE_PREFIX_PATH = "C:\Qt\6.5.3\msvc2019_64"
|
2021-06-15 01:32:25 +00:00
|
|
|
|
# https://help.appveyor.com/discussions/questions/18777-how-to-use-vcvars64bat-from-powershell
|
2022-01-16 00:00:51 +00:00
|
|
|
|
- cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
2021-06-15 01:32:25 +00:00
|
|
|
|
- Get-Content "$env:temp\vcvars.txt" | Foreach-Object { if ($_ -match "^(.*?)=(.*)$") { Set-Content "env:\$($matches[1])" $matches[2] } }
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
|
|
|
|
script:
|
2023-10-28 15:31:29 +00:00
|
|
|
|
- C:\Windows\py.exe ..\tools\make-version.py --set-release --version-file=wireshark_version.txt ..
|
2023-07-20 17:19:13 +00:00
|
|
|
|
- cmake -G "Visual Studio 17 2022" -A x64 -DENABLE_LTO=off -DENABLE_SIGNED_NSIS=on ..
|
2021-06-15 01:32:25 +00:00
|
|
|
|
- msbuild /verbosity:minimal "/consoleloggerparameters:PerformanceSummary;NoSummary" /maxcpucount Wireshark.sln
|
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount test-programs.vcxproj
|
2022-06-02 22:07:09 +00:00
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount wireshark_nsis_prep.vcxproj
|
2022-06-08 16:42:42 +00:00
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount wireshark_wix_prep.vcxproj
|
2021-06-15 01:32:25 +00:00
|
|
|
|
- C:\gitlab-builds\bin\sign-files.ps1 -Recurse -Path run\RelWithDebInfo
|
2022-06-02 22:07:09 +00:00
|
|
|
|
- msbuild /verbosity:minimal wireshark_nsis.vcxproj
|
2023-06-05 10:08:28 +00:00
|
|
|
|
# No need for explicit signing of NSIS installer here. The signing is done by makensis.
|
2022-06-08 16:42:42 +00:00
|
|
|
|
- msbuild /verbosity:minimal wireshark_wix.vcxproj
|
2023-06-05 16:38:44 +00:00
|
|
|
|
- C:\gitlab-builds\bin\sign-files.ps1 -Path packaging\wix\Wireshark-*.msi
|
2022-06-08 16:42:42 +00:00
|
|
|
|
- msbuild /verbosity:minimal wireshark_portableapps.vcxproj
|
2023-06-05 16:38:44 +00:00
|
|
|
|
- C:\gitlab-builds\bin\sign-files.ps1 -Path packaging\portableapps\WiresharkPortable*.exe
|
2023-05-23 20:33:25 +00:00
|
|
|
|
- $plugins = Get-ChildItem run\RelWithDebInfo\plugins\*\*.dll ; signtool verify /q /pa /all run\RelWithDebInfo\*.exe run\RelWithDebInfo\extcap\*.exe $plugins run\RelWithDebInfo\libwireshark.dll run\RelWithDebInfo\libwiretap.dll run\RelWithDebInfo\libwsutil.dll packaging\nsis\Wireshark-*-x64.exe packaging\wix\Wireshark-*-x64.msi packaging\portableapps\WiresharkPortable??_*.paf.exe
|
2021-06-15 01:32:25 +00:00
|
|
|
|
- msbuild /verbosity:minimal pdb_zip_package.vcxproj
|
|
|
|
|
- C:\gitlab-builds\bin\mse-scan.ps1
|
2023-11-06 19:18:05 +00:00
|
|
|
|
- run\RelWithDebInfo\tshark --version
|
2023-05-23 20:33:25 +00:00
|
|
|
|
- $packages = Get-ChildItem "packaging\nsis\Wireshark-*-x64.exe", "packaging\wix\Wireshark-*-x64.msi", "packaging\portableapps\WiresharkPortable??_*.paf.exe", "Wireshark-pdb-*x64.zip"
|
2023-10-25 22:13:35 +00:00
|
|
|
|
- foreach ($package in $packages) { Write-Host $package.name $(Get-Filehash -Algorithm SHA256 $package).Hash $package.length "bytes" }
|
2023-09-22 15:53:06 +00:00
|
|
|
|
- if (Test-Path env:MC_DESTINATION_WINDOWS_X64) { C:\gitlab-builds\bin\mc --quiet cp $packages "$env:MC_DESTINATION_WINDOWS_X64/" }
|
2023-10-28 15:31:29 +00:00
|
|
|
|
- $nsisSha256 = (Get-FileHash -Algorithm SHA256 .\packaging\nsis\Wireshark-*-x64.exe).Hash
|
|
|
|
|
- $wiresharkVersion = Get-Content .\wireshark_version.txt
|
|
|
|
|
- Set-Content -Path release-info-$($wiresharkVersion)-windows-x64.ini -Value ("[DEFAULT]`nnsis_sha256 = $nsisSha256")
|
|
|
|
|
- if (Test-Path env:MC_DESTINATION_RELEASE) { C:\gitlab-builds\bin\mc --quiet cp release-info-$($wiresharkVersion)-windows-x64.ini "$env:MC_DESTINATION_RELEASE/" }
|
2023-07-20 17:19:13 +00:00
|
|
|
|
- C:\Windows\py.exe -m pytest
|
2023-10-28 15:31:29 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
2023-10-28 16:45:02 +00:00
|
|
|
|
- build/release-info-*.ini
|
2023-07-20 17:19:13 +00:00
|
|
|
|
|
|
|
|
|
Windows Arm64 Package:
|
|
|
|
|
extends: .build-windows
|
|
|
|
|
rules: !reference [.if-w-w-only-merged]
|
|
|
|
|
tags:
|
|
|
|
|
- wireshark-windows-arm64-package
|
|
|
|
|
before_script:
|
|
|
|
|
- $env:WIRESHARK_BASE_DIR = "C:\Development"
|
|
|
|
|
- $env:Configuration = "RelWithDebInfo"
|
2023-09-28 17:55:11 +00:00
|
|
|
|
- $env:CMAKE_PREFIX_PATH = "C:\Qt\6.5.3\msvc2019_arm64"
|
2023-07-20 17:19:13 +00:00
|
|
|
|
# https://help.appveyor.com/discussions/questions/18777-how-to-use-vcvars64bat-from-powershell
|
|
|
|
|
- cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsarm64.bat`" && set > %temp%\vcvars.txt"
|
|
|
|
|
- Get-Content "$env:temp\vcvars.txt" | Foreach-Object { if ($_ -match "^(.*?)=(.*)$") { Set-Content "env:\$($matches[1])" $matches[2] } }
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
|
|
|
|
script:
|
2023-10-28 15:31:29 +00:00
|
|
|
|
- C:\Windows\py.exe ..\tools\make-version.py --set-release --version-file=wireshark_version.txt ..
|
2023-07-20 17:19:13 +00:00
|
|
|
|
- cmake -G "Visual Studio 17 2022" -A arm64 -DENABLE_LTO=off -DENABLE_SIGNED_NSIS=on ..
|
|
|
|
|
- msbuild /verbosity:minimal "/consoleloggerparameters:PerformanceSummary;NoSummary" /maxcpucount Wireshark.sln
|
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount test-programs.vcxproj
|
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount wireshark_nsis_prep.vcxproj
|
|
|
|
|
- C:\gitlab-builds\bin\sign-files.ps1 -Recurse -Path run\RelWithDebInfo
|
|
|
|
|
- msbuild /verbosity:minimal wireshark_nsis.vcxproj
|
|
|
|
|
- $plugins = Get-ChildItem run\RelWithDebInfo\plugins\*\*.dll ; signtool verify /q /pa /all run\RelWithDebInfo\*.exe run\RelWithDebInfo\extcap\*.exe $plugins run\RelWithDebInfo\libwireshark.dll run\RelWithDebInfo\libwiretap.dll run\RelWithDebInfo\libwsutil.dll packaging\nsis\Wireshark-*-arm64.exe
|
|
|
|
|
- msbuild /verbosity:minimal pdb_zip_package.vcxproj
|
|
|
|
|
- C:\gitlab-builds\bin\mse-scan.ps1
|
2023-11-06 19:18:05 +00:00
|
|
|
|
- run\RelWithDebInfo\tshark --version
|
2023-07-20 17:19:13 +00:00
|
|
|
|
- $packages = Get-ChildItem "packaging\nsis\Wireshark-*-arm64.exe", "Wireshark-pdb-*arm64.zip"
|
2023-10-25 22:13:35 +00:00
|
|
|
|
- foreach ($package in $packages) { Write-Host $package.name $(Get-Filehash -Algorithm SHA256 $package).Hash $package.length "bytes" }
|
2023-09-22 15:53:06 +00:00
|
|
|
|
- if (Test-Path env:MC_DESTINATION_WINDOWS_ARM64) { C:\gitlab-builds\bin\mc --quiet cp $packages "$env:MC_DESTINATION_WINDOWS_ARM64/" }
|
2023-10-28 15:31:29 +00:00
|
|
|
|
- $nsisSha256 = (Get-FileHash -Algorithm SHA256 .\packaging\nsis\Wireshark-*-arm64.exe).Hash
|
|
|
|
|
- $wiresharkVersion = Get-Content .\wireshark_version.txt
|
|
|
|
|
- Set-Content -Path release-info-$($wiresharkVersion)-windows-arm64.ini -Value ("[DEFAULT]`nnsis_sha256 = $nsisSha256")
|
|
|
|
|
- if (Test-Path env:MC_DESTINATION_RELEASE) { C:\gitlab-builds\bin\mc --quiet cp release-info-$($wiresharkVersion)-windows-arm64.ini "$env:MC_DESTINATION_RELEASE/" }
|
2023-05-12 08:13:46 +00:00
|
|
|
|
- C:\Windows\py.exe -m pytest
|
2023-10-28 15:31:29 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
2023-10-28 16:45:02 +00:00
|
|
|
|
- build/release-info-*.ini
|
2021-06-15 01:32:25 +00:00
|
|
|
|
|
2023-09-27 10:59:22 +00:00
|
|
|
|
Windows MinGW-w64 Package:
|
|
|
|
|
extends: .build-mingw
|
|
|
|
|
rules: !reference [.if-w-w-only-merged]
|
|
|
|
|
script:
|
|
|
|
|
- mingw64-cmake -G Ninja -DENABLE_CCACHE=Yes -DFETCH_lua=Yes ..
|
|
|
|
|
- ninja
|
|
|
|
|
- ninja user_guide_html
|
|
|
|
|
- ninja wireshark_nsis_prep
|
|
|
|
|
- ninja wireshark_nsis
|
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- build/packaging/nsis/wireshark-*.exe
|
|
|
|
|
expire_in: 3 days
|
|
|
|
|
|
2021-07-25 15:57:55 +00:00
|
|
|
|
macOS Arm Package:
|
|
|
|
|
stage: build
|
|
|
|
|
rules: !reference [.if-w-w-only-merged]
|
2021-08-24 23:24:59 +00:00
|
|
|
|
variables:
|
2023-09-20 01:22:55 +00:00
|
|
|
|
CODE_SIGN_IDENTITY: "Wireshark Foundation"
|
2021-07-25 15:57:55 +00:00
|
|
|
|
tags:
|
|
|
|
|
- wireshark-macos-arm-package
|
|
|
|
|
retry: 1
|
|
|
|
|
script:
|
2023-10-02 21:18:49 +00:00
|
|
|
|
- export CMAKE_PREFIX_PATH=/usr/local/Qt-6.5.3
|
2023-09-30 00:53:30 +00:00
|
|
|
|
- export PATH="$PATH:$HOME/bin"
|
2021-07-25 15:57:55 +00:00
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2023-10-28 12:13:10 +00:00
|
|
|
|
- ../tools/make-version.py --set-release --version-file=wireshark_version.txt ..
|
2021-07-25 15:57:55 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-08-22 07:57:46 +00:00
|
|
|
|
- cmake -DENABLE_CCACHE=ON -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_OSX_ARCHITECTURES=arm64 -DTEST_EXTRA_ARGS=--enable-release -G Ninja ..
|
2021-07-25 15:57:55 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2022-02-22 22:10:30 +00:00
|
|
|
|
- ninja
|
2023-09-19 00:08:27 +00:00
|
|
|
|
- codesign-prep
|
2023-09-20 20:15:17 +00:00
|
|
|
|
- security find-identity -v -s "$CODE_SIGN_IDENTITY"
|
2022-05-25 20:56:57 +00:00
|
|
|
|
- ninja wireshark_dmg
|
2021-08-24 23:24:59 +00:00
|
|
|
|
- cd run
|
2023-09-18 21:18:01 +00:00
|
|
|
|
- xcrun notarytool submit Wireshark?[1-9]*.dmg --apple-id "$MACOS_NOTARIZATION_APPLE_ID" --team-id "$MACOS_NOTARIZATION_TEAM_ID" --password "$MACOS_NOTARIZATION_PWD" --wait --timeout 10m
|
|
|
|
|
- xcrun stapler staple Wireshark?[1-9]*.dmg
|
|
|
|
|
- spctl --assess --type open --context context:primary-signature --verbose=2 Wireshark?[1-9]*.dmg
|
|
|
|
|
- stat -f "%N %z bytes" Wireshark*.dmg
|
|
|
|
|
- for digest in sha512 sha256 sha1 ; do openssl $digest Wireshark*.dmg ; done
|
2021-07-25 15:57:55 +00:00
|
|
|
|
- |
|
2021-12-11 17:25:29 +00:00
|
|
|
|
if [ -n "$S3_DESTINATION_MACOS_ARM64" ] ; then
|
2022-03-06 01:03:23 +00:00
|
|
|
|
aws s3 cp Wireshark?[1-9]*Arm*.dmg "$S3_DESTINATION_MACOS_ARM64/"
|
|
|
|
|
aws s3 cp Wireshark?dSYM*Arm*.dmg "$S3_DESTINATION_MACOS_ARM64/"
|
2021-07-25 15:57:55 +00:00
|
|
|
|
fi
|
2023-10-02 00:06:03 +00:00
|
|
|
|
- SPARKLE_SIGNATURE=$( age --decrypt --identity="$MACOS_AGE_IDENTITY" "$MACOS_SPARKLE_BLOB" | /usr/local/Sparkle-2.2.2/bin/sign_update --ed-key-file - Wireshark?[1-9]*.dmg )
|
2023-11-06 21:18:53 +00:00
|
|
|
|
- $CI_PROJECT_DIR/build/run/tshark --version
|
2023-10-02 00:06:03 +00:00
|
|
|
|
- DMG_SHA256=$( shasum --algorithm 256 Wireshark?[1-9]*.dmg | awk '{print $1}' )
|
2023-10-28 12:13:10 +00:00
|
|
|
|
- WIRESHARK_VERSION=$(< ../wireshark_version.txt)
|
2023-10-26 20:43:27 +00:00
|
|
|
|
- printf '[DEFAULT]\nsparkle_signature = %s\ndmg_sha256 = %s\n' "$SPARKLE_SIGNATURE" "$DMG_SHA256" > release-info-${WIRESHARK_VERSION}-macos-arm64.ini
|
|
|
|
|
- if [[ -n "$S3_DESTINATION_RELEASE" ]] ; then aws s3 cp release-info-${WIRESHARK_VERSION}-macos-arm64.ini "$S3_DESTINATION_RELEASE/" ; fi
|
2021-08-24 23:24:59 +00:00
|
|
|
|
- cd ..
|
2022-02-22 22:10:30 +00:00
|
|
|
|
- ninja test-programs
|
2023-05-12 12:35:28 +00:00
|
|
|
|
- python3 -m pytest
|
2023-10-02 00:06:03 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- build/run/release-info-*.ini
|
2021-08-24 23:24:59 +00:00
|
|
|
|
needs: []
|
2021-07-25 15:57:55 +00:00
|
|
|
|
|
2021-10-09 16:00:24 +00:00
|
|
|
|
macOS Intel Package:
|
|
|
|
|
stage: build
|
|
|
|
|
rules: !reference [.if-w-w-only-merged]
|
|
|
|
|
variables:
|
2023-09-20 01:22:55 +00:00
|
|
|
|
CODE_SIGN_IDENTITY: "Wireshark Foundation"
|
2021-10-09 16:00:24 +00:00
|
|
|
|
tags:
|
|
|
|
|
- wireshark-macos-intel-package
|
|
|
|
|
retry: 1
|
|
|
|
|
script:
|
2023-10-02 21:18:49 +00:00
|
|
|
|
- export CMAKE_PREFIX_PATH=/usr/local/Qt-6.5.3
|
2023-09-30 00:53:30 +00:00
|
|
|
|
- export PATH="$PATH:$HOME/bin"
|
2021-10-09 16:00:24 +00:00
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2023-10-28 12:13:10 +00:00
|
|
|
|
- ../tools/make-version.py --set-release --version-file=wireshark_version.txt ..
|
2021-10-09 16:00:24 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2023-10-03 17:58:43 +00:00
|
|
|
|
- cmake -DENABLE_CCACHE=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DTEST_EXTRA_ARGS=--enable-release -G Ninja ..
|
2021-10-09 16:00:24 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
|
|
|
|
- ninja
|
2023-09-19 00:08:27 +00:00
|
|
|
|
- codesign-prep
|
2023-09-20 20:15:17 +00:00
|
|
|
|
- security find-identity -v -s "$CODE_SIGN_IDENTITY"
|
2022-05-25 20:56:57 +00:00
|
|
|
|
- ninja wireshark_dmg
|
2021-10-09 16:00:24 +00:00
|
|
|
|
- cd run
|
2023-09-18 21:18:01 +00:00
|
|
|
|
- xcrun notarytool submit Wireshark?[1-9]*.dmg --apple-id "$MACOS_NOTARIZATION_APPLE_ID" --team-id "$MACOS_NOTARIZATION_TEAM_ID" --password "$MACOS_NOTARIZATION_PWD" --wait --timeout 10m
|
|
|
|
|
- xcrun stapler staple Wireshark?[1-9]*.dmg
|
|
|
|
|
- spctl --assess --type open --context context:primary-signature --verbose=2 Wireshark?[1-9]*.dmg
|
|
|
|
|
- stat -f "%N %z bytes" Wireshark*.dmg
|
|
|
|
|
- for digest in sha512 sha256 sha1 ; do openssl $digest Wireshark*.dmg ; done
|
2021-10-09 16:00:24 +00:00
|
|
|
|
- |
|
2021-12-11 17:25:29 +00:00
|
|
|
|
if [ -n "$S3_DESTINATION_MACOS_INTEL64" ] ; then
|
2023-09-21 20:48:34 +00:00
|
|
|
|
aws s3 cp Wireshark?[1-9]*Intel*.dmg "$S3_DESTINATION_MACOS_INTEL64/"
|
|
|
|
|
aws s3 cp Wireshark?dSYM*Intel*.dmg "$S3_DESTINATION_MACOS_INTEL64/"
|
2021-10-09 16:00:24 +00:00
|
|
|
|
fi
|
2023-10-02 00:06:03 +00:00
|
|
|
|
- SPARKLE_SIGNATURE=$( age --decrypt --identity="$MACOS_AGE_IDENTITY" "$MACOS_SPARKLE_BLOB" | /usr/local/Sparkle-2.2.2/bin/sign_update --ed-key-file - Wireshark?[1-9]*.dmg )
|
2023-11-06 21:18:53 +00:00
|
|
|
|
- $CI_PROJECT_DIR/build/run/tshark --version
|
2023-10-02 00:06:03 +00:00
|
|
|
|
- DMG_SHA256=$( shasum --algorithm 256 Wireshark?[1-9]*.dmg | awk '{print $1}' )
|
2023-10-28 12:13:10 +00:00
|
|
|
|
- WIRESHARK_VERSION=$(< ../wireshark_version.txt)
|
2023-10-26 20:43:27 +00:00
|
|
|
|
- printf '[DEFAULT]\nsparkle_signature = %s\ndmg_sha256 = %s\n' "$SPARKLE_SIGNATURE" "$DMG_SHA256" > release-info-${WIRESHARK_VERSION}-macos-intel64.ini
|
|
|
|
|
- if [[ -n "$S3_DESTINATION_RELEASE" ]] ; then aws s3 cp release-info-${WIRESHARK_VERSION}-macos-intel64.ini "$S3_DESTINATION_RELEASE/" ; fi
|
2021-10-09 16:00:24 +00:00
|
|
|
|
- cd ..
|
|
|
|
|
- ninja test-programs
|
2023-05-12 12:35:28 +00:00
|
|
|
|
- python3 -m pytest
|
2023-10-02 00:06:03 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- build/run/release-info-*.ini
|
2021-10-09 16:00:24 +00:00
|
|
|
|
needs: []
|
|
|
|
|
|
2021-05-04 18:47:33 +00:00
|
|
|
|
# Build the User's Guide and Developer's Guide
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Documentation:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .build-linux
|
2021-10-01 22:27:11 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/ubuntu-dev
|
2020-09-03 15:40:05 +00:00
|
|
|
|
rules:
|
2023-11-01 17:14:51 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
2021-05-02 16:39:21 +00:00
|
|
|
|
changes:
|
2022-06-15 17:24:07 +00:00
|
|
|
|
- "docbook/**/*"
|
|
|
|
|
- "epan/wslua/**/*"
|
2021-05-04 18:47:33 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
2021-05-02 16:39:21 +00:00
|
|
|
|
when: manual
|
2023-05-16 18:17:21 +00:00
|
|
|
|
allow_failure: true
|
2020-09-03 15:40:05 +00:00
|
|
|
|
script:
|
2021-05-04 18:47:33 +00:00
|
|
|
|
# XXX We might want to move this to wireshark-ubuntu-dev or debian-setup.sh.
|
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get update
|
2024-01-12 17:38:46 +00:00
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get --yes install ruby-asciidoctor-pdf ruby-coderay ruby-dev
|
2021-07-28 17:23:50 +00:00
|
|
|
|
- NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install asciidoctor-epub3
|
2020-09-03 15:40:05 +00:00
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-08-25 19:15:16 +00:00
|
|
|
|
- cmake -GNinja ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2020-09-03 15:40:05 +00:00
|
|
|
|
- ninja all_guides
|
2023-07-28 18:19:42 +00:00
|
|
|
|
- cd docbook
|
2021-05-04 18:47:33 +00:00
|
|
|
|
- for HTML_DIR in wsug_html wsug_html_chunked wsdg_html wsdg_html_chunked ; do zip -9 -r "$HTML_DIR.zip" "$HTML_DIR" ; done
|
2020-09-03 15:40:05 +00:00
|
|
|
|
after_script:
|
2021-05-04 18:47:33 +00:00
|
|
|
|
- mv -v build/docbook/ws[ud]g_html{,_chunked}.zip .
|
2021-08-03 20:42:20 +00:00
|
|
|
|
- mv -v build/docbook/Wireshark*Guide.{epub,pdf} .
|
2021-05-04 20:11:23 +00:00
|
|
|
|
- |
|
2021-12-11 17:25:29 +00:00
|
|
|
|
if [ -n "$S3_DESTINATION_DOCS" ] ; then
|
2021-08-03 20:42:20 +00:00
|
|
|
|
for DOC_FILE in ws[ud]g_html{,_chunked}.zip Wireshark*Guide.{epub,pdf} ; do
|
2021-05-04 20:11:23 +00:00
|
|
|
|
aws s3 cp "$DOC_FILE" "$S3_DESTINATION_DOCS/"
|
|
|
|
|
done
|
|
|
|
|
fi
|
2020-09-03 15:40:05 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
2021-05-04 18:47:33 +00:00
|
|
|
|
- wsug_html.zip
|
|
|
|
|
- wsug_html_chunked.zip
|
|
|
|
|
- wsdg_html.zip
|
|
|
|
|
- wsdg_html_chunked.zip
|
2021-08-26 22:44:23 +00:00
|
|
|
|
- "Wireshark User's Guide.pdf"
|
|
|
|
|
- "Wireshark Developer's Guide.pdf"
|
|
|
|
|
- "Wireshark User's Guide.epub"
|
|
|
|
|
- "Wireshark Developer's Guide.epub"
|
2020-12-24 13:11:51 +00:00
|
|
|
|
needs: []
|
2020-09-03 15:40:05 +00:00
|
|
|
|
|
2020-10-18 03:40:28 +00:00
|
|
|
|
|
2020-08-18 23:00:32 +00:00
|
|
|
|
# https://docs.gitlab.com/ee/user/gitlab_com/index.html#linux-shared-runners
|
2020-09-15 23:55:41 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Commit Check:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
extends: .build-ubuntu
|
|
|
|
|
rules: !reference [.if-merge-request]
|
2023-11-02 16:14:54 +00:00
|
|
|
|
variables:
|
|
|
|
|
GITLAB_REPO: "$CI_MERGE_REQUEST_PROJECT_URL"
|
2020-08-18 23:00:32 +00:00
|
|
|
|
script:
|
2023-11-06 21:39:50 +00:00
|
|
|
|
# glab depends on a valid GITALB_TOKEN variable. It will fail when run under outside projects.
|
2023-11-05 19:31:23 +00:00
|
|
|
|
- if ! command -V glab 2> /dev/null ; then (cd /tmp ; curl -JLO https://gitlab.com/gitlab-org/cli/-/releases/v1.34.0/downloads/glab_1.34.0_Linux_x86_64.deb ; dpkg --install /tmp/glab_1.34.0_Linux_x86_64.deb ) ; fi
|
2023-10-31 15:54:44 +00:00
|
|
|
|
- glab auth status
|
2023-11-01 15:19:06 +00:00
|
|
|
|
- >
|
|
|
|
|
if [[ $NUM_COMMITS > 1 ]] ; then
|
2023-11-06 21:39:50 +00:00
|
|
|
|
MESSAGE="ℹ️ This merge request has more than one commit. Please squash any trivial ones:
|
2023-11-01 15:19:06 +00:00
|
|
|
|
~~~
|
|
|
|
|
$(git log --oneline --no-decorate "${CI_COMMIT_SHA}~$NUM_COMMITS..${CI_COMMIT_SHA}")
|
|
|
|
|
~~~
|
|
|
|
|
"
|
2023-11-06 21:39:50 +00:00
|
|
|
|
glab mr note $CI_MERGE_REQUEST_IID --unique --message "$MESSAGE" || echo "$MESSAGE"
|
2023-11-01 15:19:06 +00:00
|
|
|
|
fi
|
2020-08-18 23:00:32 +00:00
|
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
|
- cd ..
|
2023-01-10 22:08:12 +00:00
|
|
|
|
- git status
|
2023-10-31 15:54:44 +00:00
|
|
|
|
- PC_EXIT_CODE=0
|
2023-11-02 16:14:54 +00:00
|
|
|
|
- ANALYSIS_MESSAGE=$( ./tools/pre-commit "${CI_COMMIT_SHA}~$NUM_COMMITS" ) || PC_EXIT_CODE=1
|
2023-10-31 15:54:44 +00:00
|
|
|
|
- >
|
|
|
|
|
if [ -n "$ANALYSIS_MESSAGE" ] ; then
|
2023-11-06 21:39:50 +00:00
|
|
|
|
MESSAGE="Pre-commit check results:
|
2023-10-31 15:54:44 +00:00
|
|
|
|
~~~
|
|
|
|
|
$ANALYSIS_MESSAGE
|
|
|
|
|
~~~
|
|
|
|
|
"
|
2023-11-06 21:39:50 +00:00
|
|
|
|
glab mr note $CI_MERGE_REQUEST_IID --unique --message "$MESSAGE" || echo "$MESSAGE"
|
2023-10-31 15:54:44 +00:00
|
|
|
|
fi
|
|
|
|
|
- VC_EXIT_CODE=0
|
2023-11-02 16:14:54 +00:00
|
|
|
|
- ANALYSIS_MESSAGE=$( tools/validate-commit.py ) || VC_EXIT_CODE=1
|
2023-10-31 15:54:44 +00:00
|
|
|
|
- >
|
|
|
|
|
if [[ $VC_EXIT_CODE != 0 ]] ; then
|
2023-11-06 21:39:50 +00:00
|
|
|
|
MESSAGE="Commit validation failure:
|
2023-10-31 15:54:44 +00:00
|
|
|
|
~~~
|
|
|
|
|
$ANALYSIS_MESSAGE
|
|
|
|
|
~~~
|
|
|
|
|
"
|
2023-11-06 21:39:50 +00:00
|
|
|
|
glab mr note $CI_MERGE_REQUEST_IID --unique --message "$MESSAGE" || echo "$MESSAGE"
|
2023-10-31 15:54:44 +00:00
|
|
|
|
fi
|
|
|
|
|
- LC_EXIT_CODE=0
|
2023-11-02 16:14:54 +00:00
|
|
|
|
- ANALYSIS_MESSAGE=$( python3 tools/checklicenses.py ) || LC_EXIT_CODE=1
|
2023-10-31 15:54:44 +00:00
|
|
|
|
- >
|
|
|
|
|
if [[ $LC_EXIT_CODE != 0 ]] ; then
|
2023-11-06 21:39:50 +00:00
|
|
|
|
MESSAGE="License check failure:
|
2023-10-31 15:54:44 +00:00
|
|
|
|
~~~
|
|
|
|
|
$ANALYSIS_MESSAGE
|
|
|
|
|
~~~
|
|
|
|
|
"
|
2023-11-06 21:39:50 +00:00
|
|
|
|
glab mr note $CI_MERGE_REQUEST_IID --unique --message "$MESSAGE" || echo "$MESSAGE"
|
2023-10-31 15:54:44 +00:00
|
|
|
|
fi
|
2023-11-18 16:39:33 +00:00
|
|
|
|
- HC_EXIT_CODE=0
|
|
|
|
|
- ANALYSIS_MESSAGE=$( python3 tools/check_help_urls.py ) || HC_EXIT_CODE=1
|
|
|
|
|
- >
|
|
|
|
|
if [[ $HC_EXIT_CODE != 0 ]] ; then
|
|
|
|
|
MESSAGE="Help URL check failure:
|
|
|
|
|
~~~
|
|
|
|
|
$ANALYSIS_MESSAGE
|
|
|
|
|
~~~
|
|
|
|
|
"
|
|
|
|
|
glab mr note $CI_MERGE_REQUEST_IID --unique --message "$MESSAGE" || echo "$MESSAGE"
|
|
|
|
|
fi
|
|
|
|
|
- exit $(( PC_EXIT_CODE || VC_EXIT_CODE || LC_EXIT_CODE || HC_EXIT_CODE ))
|
2020-09-15 23:55:41 +00:00
|
|
|
|
|
2023-09-23 09:35:36 +00:00
|
|
|
|
Ubuntu GCC Build:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
extends: .build-ubuntu
|
|
|
|
|
rules: !reference [.if-merge-request]
|
2023-09-23 09:35:36 +00:00
|
|
|
|
variables:
|
|
|
|
|
CC: "gcc"
|
|
|
|
|
CXX: "g++"
|
2022-10-20 17:35:42 +00:00
|
|
|
|
needs: [ 'Commit Check' ]
|
2020-08-18 23:00:32 +00:00
|
|
|
|
script:
|
|
|
|
|
# build-ubuntu puts us in `build`.
|
2023-09-25 22:09:11 +00:00
|
|
|
|
- cd ..
|
2023-09-26 16:45:27 +00:00
|
|
|
|
- mv build "🦈 build 🦈"
|
|
|
|
|
- cd "🦈 build 🦈"
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-10-01 12:11:16 +00:00
|
|
|
|
# Test release build.
|
2023-09-23 09:35:36 +00:00
|
|
|
|
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DENABLE_CCACHE=ON -DENABLE_WERROR=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=on ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2021-04-12 19:13:02 +00:00
|
|
|
|
- script --command ninja --flush --quiet --return ../gcc_report.txt
|
|
|
|
|
- ansi2html < ../gcc_report.txt > ../gcc_report.html
|
2020-08-18 23:00:32 +00:00
|
|
|
|
- ninja test-programs
|
|
|
|
|
- chown -R user .
|
2022-10-21 20:03:49 +00:00
|
|
|
|
- if [ -f run/dumpcap ]; then setcap cap_net_raw,cap_net_admin+eip run/dumpcap; fi
|
|
|
|
|
- if [ -f run/dumpcap ]; then su user -c "run/dumpcap -D" ; fi
|
2023-05-12 08:13:46 +00:00
|
|
|
|
- su user -c pytest-3
|
2023-06-14 13:18:43 +00:00
|
|
|
|
# Test CMake install code and CPack config code. Select any one of the archive generators.
|
|
|
|
|
- ninja user_guide_html
|
|
|
|
|
- ninja developer_guide_html
|
|
|
|
|
- cpack -G TZST .
|
|
|
|
|
- ls wireshark-*.tar.zst{,.sha256}
|
2021-04-12 19:13:02 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- gcc_report.html
|
2020-08-18 23:00:32 +00:00
|
|
|
|
|
2023-09-27 10:59:22 +00:00
|
|
|
|
Fedora MinGW Build:
|
|
|
|
|
extends: .build-mingw
|
|
|
|
|
rules: !reference [.if-merge-request]
|
|
|
|
|
needs: [ 'Commit Check' ]
|
|
|
|
|
|
2022-11-15 16:56:19 +00:00
|
|
|
|
Clang + Code Checks:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
extends: .build-ubuntu
|
|
|
|
|
rules: !reference [.if-merge-request]
|
2022-10-20 17:35:42 +00:00
|
|
|
|
needs: [ 'Commit Check' ]
|
2020-08-18 23:00:32 +00:00
|
|
|
|
script:
|
2023-12-31 01:00:31 +00:00
|
|
|
|
- source /clang-latest.env
|
2020-08-18 23:00:32 +00:00
|
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
|
- cd ..
|
2021-09-03 19:26:11 +00:00
|
|
|
|
- mkdir cppcheck
|
2021-12-27 21:55:48 +00:00
|
|
|
|
- ./tools/cppcheck/cppcheck.sh -l $NUM_COMMITS | tee cppcheck/cppcheck_report.txt
|
|
|
|
|
- if [[ -s "cppcheck/cppcheck_report.txt" ]]; then ./tools/cppcheck/cppcheck.sh -l $NUM_COMMITS -x > cppcheck/cppcheck_report.xml ; fi
|
2021-09-03 19:26:11 +00:00
|
|
|
|
- if [[ -s "cppcheck/cppcheck_report.txt" ]]; then cppcheck-htmlreport --file cppcheck/cppcheck_report.xml --report-dir cppcheck ; fi
|
2020-08-18 23:00:32 +00:00
|
|
|
|
- cd build
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-06-04 11:46:27 +00:00
|
|
|
|
# We don't have an "All options" job, so build fuzzshark and tfshark here.
|
2023-09-15 15:05:32 +00:00
|
|
|
|
- cmake -DENABLE_CHECKHF_CONFLICT=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DBUILD_fuzzshark=ON -DBUILD_tfshark=On -DBUILD_logray=ON -DENABLE_DEBUG=ON -DENABLE_CCACHE=ON -DENABLE_WERROR=ON -G Ninja ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2023-05-24 21:40:04 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:asn1_section[collapsed=true]\r\e[0KRegenerating ASN.1 dissectors" "$( date +%s)"
|
|
|
|
|
- ninja asn1
|
|
|
|
|
- git diff --exit-code ${CI_COMMIT_SHA} ..
|
|
|
|
|
- printf "\e[0Ksection_end:%s:asn1_section\r\e[0K" "$( date +%s)"
|
2023-06-24 19:35:19 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:pidl_section[collapsed=true]\r\e[0KRegenerating PIDL dissectors" "$( date +%s)"
|
|
|
|
|
- ninja pidl-dissectors
|
|
|
|
|
- git diff --exit-code ${CI_COMMIT_SHA} ..
|
|
|
|
|
- printf "\e[0Ksection_end:%s:pidl_section\r\e[0K" "$( date +%s)"
|
2021-09-15 13:58:33 +00:00
|
|
|
|
- mkdir ../html
|
|
|
|
|
- script --command ninja --flush --quiet --return ../tmp_clang_report.txt
|
|
|
|
|
- ansi2txt < ../tmp_clang_report.txt > ../clang_report.txt
|
|
|
|
|
- ansi2html < ../tmp_clang_report.txt > ../html/clang_report.html
|
2021-09-02 21:05:17 +00:00
|
|
|
|
- ./run/tshark -v 2> >(tee ../checkhf_conflict.txt)
|
2021-09-13 18:53:50 +00:00
|
|
|
|
- ../tools/validate-clang-check.sh -c $CLANG_VERSION 2> >(tee ../tmp_clang_analyzer_check.txt)
|
|
|
|
|
- ansi2txt < ../tmp_clang_analyzer_check.txt > ../clang_analyzer_check.txt
|
2021-09-15 13:58:33 +00:00
|
|
|
|
- ansi2html < ../tmp_clang_analyzer_check.txt > ../html/clang_analyzer_check.html
|
2021-09-23 23:39:40 +00:00
|
|
|
|
- ninja checkAPI
|
2022-10-21 20:03:49 +00:00
|
|
|
|
- ninja shellcheck
|
2022-10-28 12:54:08 +00:00
|
|
|
|
- cd ..
|
2023-08-14 08:26:38 +00:00
|
|
|
|
- ./tools/check_typed_item_calls.py --consecutive --label --mask --check-bitmask-fields --commits $NUM_COMMITS | tee item_calls_check.txt
|
2023-09-14 09:21:24 +00:00
|
|
|
|
- ./tools/check_tfs.py --check-value-strings --commits $NUM_COMMITS | tee tfs_check.txt
|
2023-05-05 13:19:46 +00:00
|
|
|
|
- ./tools/check_val_to_str.py --commits $NUM_COMMITS | tee val_to_str_check.txt
|
2020-08-24 18:47:20 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
2021-09-15 13:58:33 +00:00
|
|
|
|
- clang_report.txt
|
2021-09-01 07:01:52 +00:00
|
|
|
|
- clang_analyzer_check.txt
|
2021-09-03 19:26:11 +00:00
|
|
|
|
- cppcheck
|
2020-12-20 20:04:00 +00:00
|
|
|
|
- item_calls_check.txt
|
|
|
|
|
- tfs_check.txt
|
2023-05-05 13:19:46 +00:00
|
|
|
|
- val_to_str_check.txt
|
2021-09-02 21:05:17 +00:00
|
|
|
|
- checkhf_conflict.txt
|
2021-09-15 13:58:33 +00:00
|
|
|
|
- html/
|
2020-08-18 23:00:32 +00:00
|
|
|
|
|
2021-12-16 21:17:48 +00:00
|
|
|
|
No options:
|
|
|
|
|
extends: .build-ubuntu
|
|
|
|
|
rules: !reference [.if-merge-request]
|
2022-10-20 17:35:42 +00:00
|
|
|
|
needs: [ 'Commit Check' ]
|
2021-12-16 21:17:48 +00:00
|
|
|
|
script: |
|
2022-08-25 19:15:16 +00:00
|
|
|
|
cmake -GNinja -DENABLE_CCACHE=ON \
|
2023-05-08 19:47:32 +00:00
|
|
|
|
-DENABLE_BROTLI=OFF -DENABLE_CAP=OFF -DENABLE_CHECKHF_CONFLICT=ON -DENABLE_GNUTLS=OFF \
|
2023-12-06 11:34:38 +00:00
|
|
|
|
-DENABLE_KERBEROS=OFF -DENABLE_LIBXML2=OFF -DENABLE_ILBC=OFF -DENABLE_LUA=OFF -DENABLE_LZ4=OFF \
|
|
|
|
|
-DENABLE_MINIZIP=OFF -DENABLE_NETLINK=OFF -DENABLE_NGHTTP2=OFF -DENABLE_NGHTTP3=OFF \
|
|
|
|
|
-DENABLE_BCG729=OFF -DENABLE_OPUS=OFF -DENABLE_PCAP=OFF -DENABLE_PLUGIN_IFDEMO=ON \
|
|
|
|
|
-DENABLE_PLUGINS=OFF -DENABLE_SBC=OFF -DENABLE_SMI=OFF -DENABLE_SNAPPY=OFF -DENABLE_SPANDSP=OFF \
|
|
|
|
|
-DENABLE_ZLIB=OFF -DENABLE_ZSTD=OFF -DBUILD_mmdbresolve=OFF ..
|
2021-12-16 21:17:48 +00:00
|
|
|
|
ninja
|
|
|
|
|
|
2021-04-05 18:35:23 +00:00
|
|
|
|
# Windows runners are still beta, at least technically:
|
2020-08-18 23:00:32 +00:00
|
|
|
|
# https://docs.gitlab.com/ee/user/gitlab_com/index.html#windows-shared-runners-beta
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Windows Build:
|
2021-05-02 16:39:21 +00:00
|
|
|
|
extends: .build-windows
|
2021-06-29 17:39:00 +00:00
|
|
|
|
rules: !reference [.if-w-w-only-merge-request]
|
2020-08-18 23:00:32 +00:00
|
|
|
|
tags:
|
2021-04-04 20:28:16 +00:00
|
|
|
|
- wireshark-windows-merge-req
|
2022-10-20 17:35:42 +00:00
|
|
|
|
needs: [ 'Commit Check' ]
|
2020-08-18 23:00:32 +00:00
|
|
|
|
script:
|
2023-09-23 09:35:36 +00:00
|
|
|
|
- cmake -G "Visual Studio 17 2022" -A x64 -DENABLE_LTO=off ..
|
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount /property:Configuration=Debug Wireshark.sln
|
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount /property:Configuration=Debug test-programs.vcxproj
|
2023-10-18 02:11:26 +00:00
|
|
|
|
- C:\Windows\py.exe -m pytest --disable-gui --build-type=Debug
|
2023-10-18 02:11:26 +00:00
|
|
|
|
|
2021-04-29 19:10:51 +00:00
|
|
|
|
|
2022-03-27 02:14:32 +00:00
|
|
|
|
Windows Qt5 Build:
|
|
|
|
|
extends: .build-windows
|
2023-10-03 16:41:17 +00:00
|
|
|
|
rules:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
|
|
|
|
changes:
|
|
|
|
|
- "ui/**/*"
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
|
when: manual
|
|
|
|
|
allow_failure: true
|
2022-03-27 02:14:32 +00:00
|
|
|
|
tags:
|
|
|
|
|
- wireshark-windows-merge-req
|
2022-10-20 17:35:42 +00:00
|
|
|
|
needs: [ 'Commit Check' ]
|
2022-03-27 02:14:32 +00:00
|
|
|
|
script:
|
|
|
|
|
- $env:CMAKE_PREFIX_PATH = "C:\qt\5.15.2\msvc2019_64"
|
2022-08-22 07:57:46 +00:00
|
|
|
|
- cmake -G "Visual Studio 17 2022" -A x64 -DUSE_qt6=OFF -DENABLE_LTO=off ..
|
2022-03-27 02:14:32 +00:00
|
|
|
|
- msbuild /verbosity:minimal /maxcpucount ui\qt\qtui.vcxproj
|
|
|
|
|
|
2023-02-02 00:38:01 +00:00
|
|
|
|
macOS Build:
|
|
|
|
|
extends: .build-macos
|
2023-02-03 18:52:16 +00:00
|
|
|
|
rules: !reference [.if-w-w-only-merge-request]
|
2023-09-15 15:05:32 +00:00
|
|
|
|
script:
|
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2023-09-23 09:35:36 +00:00
|
|
|
|
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DENABLE_CCACHE=ON -DTEST_EXTRA_ARGS=--disable-capture ..
|
2023-09-15 15:05:32 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
|
|
|
|
- ninja
|
|
|
|
|
- ninja test-programs
|
|
|
|
|
- pytest
|
2023-02-02 00:38:01 +00:00
|
|
|
|
needs: [ 'Commit Check' ]
|
|
|
|
|
|
2021-04-29 19:10:51 +00:00
|
|
|
|
# Adapted from https://www.synopsys.com/blogs/software-security/integrating-coverity-scan-with-gitlab-ci/
|
|
|
|
|
# and https://gitlab.gnome.org/GNOME/glib/-/blob/8f57a5b9/.gitlab-ci.yml#L481
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Coverity GCC Scan:
|
2021-10-01 22:27:11 +00:00
|
|
|
|
image: registry.gitlab.com/wireshark/wireshark-containers/ubuntu-dev
|
2021-05-01 01:13:01 +00:00
|
|
|
|
rules:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "coverity-gcc"'
|
2021-04-29 19:10:51 +00:00
|
|
|
|
stage: analysis
|
|
|
|
|
needs: []
|
|
|
|
|
variables:
|
|
|
|
|
CC: gcc
|
|
|
|
|
CXX: g++
|
|
|
|
|
# cov-build doesn’t handle GLIB_DEPRECATED_ENUMERATOR
|
|
|
|
|
CFLAGS: '-DGLIB_DISABLE_DEPRECATION_WARNINGS'
|
|
|
|
|
CXXFLAGS: '-DGLIB_DISABLE_DEPRECATION_WARNINGS'
|
|
|
|
|
script:
|
2021-04-30 00:36:52 +00:00
|
|
|
|
- curl --output /tmp/cov-analysis-linux64.tar.gz --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN https://scan.coverity.com/download/linux64
|
2021-04-29 19:10:51 +00:00
|
|
|
|
- tar --directory=/tmp --extract --gzip --file /tmp/cov-analysis-linux64.tar.gz
|
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2022-08-25 19:15:16 +00:00
|
|
|
|
- cmake -G Ninja ..
|
2021-05-03 01:32:12 +00:00
|
|
|
|
- /tmp/cov-analysis-linux64-*/bin/cov-build --return-emit-failures --dir ../cov-int ninja
|
|
|
|
|
- cd ..
|
2021-04-29 19:10:51 +00:00
|
|
|
|
- tar --create --gzip --file cov-int.tar.gz cov-int
|
2021-05-03 15:38:16 +00:00
|
|
|
|
- echo "export ARTIFACT_JOB_URL=$CI_JOB_URL" > job_environment_variables.sh
|
|
|
|
|
- echo "export GIT_DESCRIPTION=$( git describe --tags )" >> job_environment_variables.sh
|
2021-04-30 19:18:23 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
2021-05-03 01:32:12 +00:00
|
|
|
|
- cov-int.tar.gz
|
2021-05-03 15:38:16 +00:00
|
|
|
|
- job_environment_variables.sh
|
2021-08-03 04:27:57 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Coverity GCC Submit:
|
2021-05-03 01:32:12 +00:00
|
|
|
|
image: curlimages/curl
|
|
|
|
|
rules:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "coverity-gcc"'
|
|
|
|
|
stage: .post
|
|
|
|
|
script:
|
2021-05-03 15:38:16 +00:00
|
|
|
|
- . job_environment_variables.sh
|
|
|
|
|
- echo $ARTIFACT_JOB_URL
|
|
|
|
|
- echo $GIT_DESCRIPTION
|
2021-05-03 16:46:18 +00:00
|
|
|
|
- curl --fail --data "project=$COVERITY_SCAN_PROJECT_NAME&token=$COVERITY_SCAN_TOKEN&email=$GITLAB_USER_EMAIL&url=$ARTIFACT_JOB_URL/artifacts/raw/cov-int.tar.gz&version=$GIT_DESCRIPTION&description=Ubuntu $GIT_DESCRIPTION $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID" https://scan.coverity.com/builds
|
2021-05-07 19:03:00 +00:00
|
|
|
|
needs: [ 'Coverity GCC Scan' ]
|
2021-04-29 20:55:35 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Coverity Visual C++ Scan:
|
2021-04-29 20:55:35 +00:00
|
|
|
|
extends: .build-windows
|
2021-05-01 01:13:01 +00:00
|
|
|
|
rules:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "coverity-visual-c++"'
|
2021-04-29 20:55:35 +00:00
|
|
|
|
tags:
|
|
|
|
|
- wireshark-windows-merge-req
|
|
|
|
|
stage: analysis
|
|
|
|
|
needs: []
|
|
|
|
|
script:
|
|
|
|
|
- $gitDescription = (( git describe --tags ) | Out-String).Trim()
|
2021-04-30 01:50:51 +00:00
|
|
|
|
- C:\Windows\System32\curl --output $env:temp\cov-analysis-win64.zip --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN https://scan.coverity.com/download/win64
|
2021-04-29 20:55:35 +00:00
|
|
|
|
- C:\ProgramData\chocolatey\tools\7z x "$env:temp\cov-analysis-win64.zip" -y -r -o"$env:temp"
|
2022-08-22 07:57:46 +00:00
|
|
|
|
- cmake -DTEST_EXTRA_ARGS=--enable-release -DENABLE_LTO=off -G "Visual Studio 17 2022" -A x64 ..
|
2021-04-29 20:55:35 +00:00
|
|
|
|
- $covAnalysisWin64 = (Get-ChildItem -Path $env:temp -Filter "cov-analysis-win64-*" -Directory)[0].FullName
|
2021-05-03 01:32:12 +00:00
|
|
|
|
- Invoke-Expression "& $covAnalysisWin64\bin\cov-build.exe --return-emit-failures --dir ..\cov-int msbuild /verbosity:minimal `"/consoleloggerparameters:PerformanceSummary;NoSummary`" /maxcpucount:1 Wireshark.sln"
|
|
|
|
|
- cd ..
|
2021-04-29 20:55:35 +00:00
|
|
|
|
- C:\ProgramData\chocolatey\tools\7z a -tzip cov-int.zip cov-int
|
2021-05-03 15:38:16 +00:00
|
|
|
|
- '"export ARTIFACT_JOB_URL=$env:CI_JOB_URL" | Out-File -Encoding ascii job_environment_variables.sh'
|
|
|
|
|
- '"export GIT_DESCRIPTION=$gitDescription" | Out-File -Encoding ascii -Append job_environment_variables.sh'
|
2021-04-30 19:18:23 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
2021-05-03 03:28:50 +00:00
|
|
|
|
- cov-int.zip
|
2021-05-03 15:38:16 +00:00
|
|
|
|
- job_environment_variables.sh
|
2022-08-25 08:13:17 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Coverity Visual C++ Submit:
|
2021-05-03 01:32:12 +00:00
|
|
|
|
image: curlimages/curl
|
|
|
|
|
rules:
|
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "coverity-visual-c++"'
|
|
|
|
|
stage: .post
|
|
|
|
|
script:
|
2021-05-03 15:38:16 +00:00
|
|
|
|
- sed -i -e 's/\r//' job_environment_variables.sh
|
|
|
|
|
- . job_environment_variables.sh
|
|
|
|
|
- echo $ARTIFACT_JOB_URL
|
|
|
|
|
- echo $GIT_DESCRIPTION
|
2021-05-03 16:46:18 +00:00
|
|
|
|
- curl --fail --data "project=$COVERITY_SCAN_PROJECT_NAME&token=$COVERITY_SCAN_TOKEN&email=$GITLAB_USER_EMAIL&url=$ARTIFACT_JOB_URL/artifacts/raw/cov-int.zip&version=$GIT_DESCRIPTION&description=Windows $GIT_DESCRIPTION $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID" https://scan.coverity.com/builds
|
2021-05-07 19:03:00 +00:00
|
|
|
|
needs: [ 'Coverity Visual C++ Scan' ]
|
2021-04-30 00:33:48 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Clang Static Analyzer:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .build-ubuntu
|
2021-05-02 16:39:21 +00:00
|
|
|
|
rules: !reference [.if-daily-schedule]
|
2021-04-30 00:33:48 +00:00
|
|
|
|
stage: analysis
|
|
|
|
|
needs: []
|
|
|
|
|
script:
|
2023-12-31 01:00:31 +00:00
|
|
|
|
- source /clang-latest.env
|
2022-08-25 19:15:16 +00:00
|
|
|
|
- scan-build-${CLANG_VERSION} cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_WERROR=OFF -G Ninja ..
|
2021-04-30 00:33:48 +00:00
|
|
|
|
- scan-build-${CLANG_VERSION} -o ../sbout ninja
|
|
|
|
|
- cd ../sbout
|
|
|
|
|
- RAW_DIR=$( find ../sbout -type d -name "20??-??-??-*" -printf "%P\n" | head )
|
|
|
|
|
- SB_DIR="scan-build-$RAW_DIR"
|
|
|
|
|
- mv "$RAW_DIR" "$SB_DIR"
|
|
|
|
|
- if [ -d logs ] ; then mv logs $SB_DIR ; fi
|
|
|
|
|
- chmod -R u=rwX,go=rX "$SB_DIR"
|
|
|
|
|
- zip -9 -r "${SB_DIR}.zip" "$SB_DIR"
|
2021-12-11 17:25:29 +00:00
|
|
|
|
- if [ -n "$S3_DESTINATION_ANALYSIS" ] ; then aws s3 cp "${SB_DIR}.zip" "$S3_DESTINATION_ANALYSIS/" ; fi
|
2021-04-30 15:56:29 +00:00
|
|
|
|
|
|
|
|
|
# Windows runners are still beta, at least technically:
|
|
|
|
|
# https://docs.gitlab.com/ee/user/gitlab_com/index.html#windows-shared-runners-beta
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Visual Studio Code Analysis:
|
2021-04-30 15:56:29 +00:00
|
|
|
|
extends: .build-windows
|
|
|
|
|
tags:
|
|
|
|
|
- wireshark-windows-dev
|
|
|
|
|
rules:
|
|
|
|
|
# The wireshark-windows-* tags are only available in wireshark/wireshark.
|
2021-05-01 01:13:01 +00:00
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "daily" && $CI_PROJECT_URL =~ /.*gitlab.com\/wireshark\/wireshark/'
|
2021-04-30 15:56:29 +00:00
|
|
|
|
script:
|
2023-06-04 22:08:50 +00:00
|
|
|
|
- py -m venv sarif-tools.venv
|
|
|
|
|
- sarif-tools.venv\Scripts\pip.exe install sarif-tools
|
2023-06-06 17:32:49 +00:00
|
|
|
|
- msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
|
|
|
|
|
- $env:Path += ";C:\Program Files\Amazon\AWSCLIV2"
|
2021-04-30 15:56:29 +00:00
|
|
|
|
- $env:caexcludepath = "C:\Qt;$env:INCLUDE"
|
2022-08-22 07:57:46 +00:00
|
|
|
|
- cmake -DENABLE_CODE_ANALYSIS=ON -G "Visual Studio 17 2022" -A x64 -DENABLE_LTO=off ..
|
2021-04-30 15:56:29 +00:00
|
|
|
|
- msbuild /verbosity:minimal "/consoleloggerparameters:PerformanceSummary;NoSummary" /maxcpucount:2 Wireshark.sln
|
2023-06-04 22:08:50 +00:00
|
|
|
|
- $report = "visual-c++-analyze-" + (Get-Date -format "yyyy-MM-dd") + ".html"
|
|
|
|
|
- sarif-tools.venv\Scripts\sarif html --output $report
|
|
|
|
|
- |
|
|
|
|
|
if (Test-Path env:S3_DESTINATION_ANALYSIS) {
|
|
|
|
|
aws s3 cp "$report" "$env:S3_DESTINATION_ANALYSIS/"
|
|
|
|
|
}
|
2021-04-30 17:11:29 +00:00
|
|
|
|
|
2021-05-03 17:34:31 +00:00
|
|
|
|
# Build all doxygen docs
|
2021-05-07 19:03:00 +00:00
|
|
|
|
API Reference:
|
2021-08-03 04:27:57 +00:00
|
|
|
|
extends: .build-ubuntu
|
2021-05-03 17:34:31 +00:00
|
|
|
|
rules: !reference [.if-daily-schedule]
|
|
|
|
|
script:
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-08-25 19:15:16 +00:00
|
|
|
|
- cmake -GNinja ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2021-05-03 17:34:31 +00:00
|
|
|
|
- ninja wsar_html_zip 2>&1 > doxygen_output.txt | tee doxygen_errors.txt
|
|
|
|
|
after_script:
|
2021-05-04 21:06:57 +00:00
|
|
|
|
- mv build/wsar_html.zip .
|
2021-05-03 17:34:31 +00:00
|
|
|
|
- mv build/doxygen_output.txt .
|
|
|
|
|
- mv build/doxygen_errors.txt .
|
2021-05-04 21:06:57 +00:00
|
|
|
|
- |
|
2021-12-11 17:25:29 +00:00
|
|
|
|
if [ -n "$S3_DESTINATION_DOCS" ] ; then
|
2021-05-04 21:06:57 +00:00
|
|
|
|
aws s3 cp wsar_html.zip "$S3_DESTINATION_DOCS/"
|
|
|
|
|
fi
|
2021-05-03 17:34:31 +00:00
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- doxygen_errors.txt
|
|
|
|
|
- doxygen_output.txt
|
|
|
|
|
- wsar_html.zip
|
|
|
|
|
needs: []
|
|
|
|
|
|
2023-07-28 18:19:42 +00:00
|
|
|
|
Code Lines and Data:
|
2021-05-01 01:13:01 +00:00
|
|
|
|
extends: .build-ubuntu
|
2021-05-02 16:39:21 +00:00
|
|
|
|
rules: !reference [.if-daily-schedule]
|
2021-04-30 17:11:29 +00:00
|
|
|
|
stage: analysis
|
|
|
|
|
variables:
|
2021-06-07 18:05:44 +00:00
|
|
|
|
CLOC_OUT: /tmp/cloc.txt
|
|
|
|
|
SCC_OUT: /tmp/scc.txt
|
|
|
|
|
SLOC_OUT: /tmp/sloccount.txt
|
|
|
|
|
TOKEI_OUT: /tmp/tokei.txt
|
2021-06-07 18:40:19 +00:00
|
|
|
|
script:
|
2021-06-07 18:05:44 +00:00
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get update
|
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get --yes install sloccount cloc curl unzip
|
2021-06-07 18:40:19 +00:00
|
|
|
|
- pushd /tmp
|
2021-06-07 18:05:44 +00:00
|
|
|
|
- curl -L -O https://github.com/boyter/scc/releases/download/v3.0.0/scc-3.0.0-x86_64-unknown-linux.zip
|
|
|
|
|
- unzip scc-3.0.0-x86_64-unknown-linux.zip
|
|
|
|
|
- curl -L -O https://github.com/XAMPPRocky/tokei/releases/download/v12.1.2/tokei-x86_64-unknown-linux-gnu.tar.gz
|
|
|
|
|
- tar -xf tokei-x86_64-unknown-linux-gnu.tar.gz
|
2021-06-07 18:40:19 +00:00
|
|
|
|
- popd
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-08-25 19:15:16 +00:00
|
|
|
|
- cmake -G Ninja ..
|
2021-05-28 18:11:06 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2021-04-30 17:11:29 +00:00
|
|
|
|
- ninja
|
|
|
|
|
- cd ..
|
2021-06-07 18:05:44 +00:00
|
|
|
|
- echo -n "cloc version:\ "
|
|
|
|
|
- cloc --version
|
|
|
|
|
- cloc --quiet . | tee $CLOC_OUT
|
|
|
|
|
- /tmp/scc --version
|
|
|
|
|
- /tmp/scc --not-match 'qt/.*.ts' . | tee $SCC_OUT
|
2021-04-30 17:11:29 +00:00
|
|
|
|
- echo -n "SLOCCount version:\ "
|
|
|
|
|
- sloccount --version
|
2021-06-07 18:05:44 +00:00
|
|
|
|
- sloccount . | awk "/^Computing results/ { results=1 } { if (results) print }" | tee $SLOC_OUT
|
|
|
|
|
- /tmp/tokei --version
|
|
|
|
|
- /tmp/tokei --exclude 'qt/*.ts' . | tee $TOKEI_OUT
|
2023-07-28 18:19:42 +00:00
|
|
|
|
- |
|
|
|
|
|
cat > manuf <<FIN
|
2023-07-29 21:12:43 +00:00
|
|
|
|
# This file was generated by TShark $(git describe --tags | sed -e 's/^v//') with the
|
|
|
|
|
# command \`tshark -G manuf\`. Its canonical location is
|
|
|
|
|
#
|
|
|
|
|
# https://www.wireshark.org/download/automated/data/manuf
|
2023-07-28 18:19:42 +00:00
|
|
|
|
#
|
2023-08-18 15:52:35 +00:00
|
|
|
|
# The first column contains the MAC address block (24, 28 or 36 bits wide,
|
|
|
|
|
# per IEEE allocation sizes), the second column contains the shortened name
|
|
|
|
|
# used by Wireshark for address name resolution and the third column contains the
|
|
|
|
|
# full vendor name from the registry.
|
2023-07-28 18:19:42 +00:00
|
|
|
|
#
|
|
|
|
|
FIN
|
|
|
|
|
- build/run/tshark -G manuf | sed -e 's,:00:00:00/24,,' >> manuf
|
2021-06-07 18:05:44 +00:00
|
|
|
|
- |
|
2021-12-11 17:25:29 +00:00
|
|
|
|
if [ -n "$S3_DESTINATION_ANALYSIS" ] ; then
|
2021-06-07 18:05:44 +00:00
|
|
|
|
aws s3 cp "$CLOC_OUT" "$S3_DESTINATION_ANALYSIS/"
|
|
|
|
|
aws s3 cp "$SCC_OUT" "$S3_DESTINATION_ANALYSIS/"
|
|
|
|
|
aws s3 cp "$SLOC_OUT" "$S3_DESTINATION_ANALYSIS/"
|
|
|
|
|
aws s3 cp "$TOKEI_OUT" "$S3_DESTINATION_ANALYSIS/"
|
|
|
|
|
fi
|
2023-07-28 18:19:42 +00:00
|
|
|
|
- |
|
|
|
|
|
if [ -n "$S3_DESTINATION_DATA" ] ; then
|
|
|
|
|
for DATA_FILE in manuf ; do
|
|
|
|
|
aws s3 cp "$DATA_FILE" "$S3_DESTINATION_DATA/"
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
artifacts:
|
|
|
|
|
paths:
|
|
|
|
|
- manuf
|
|
|
|
|
needs: []
|
2021-05-04 19:22:32 +00:00
|
|
|
|
|
2021-05-06 01:38:13 +00:00
|
|
|
|
# Fuzz TShark using ASAN and valgrind.
|
|
|
|
|
.fuzz-ubuntu:
|
2021-05-04 19:22:32 +00:00
|
|
|
|
extends: .build-ubuntu
|
2023-06-29 17:49:25 +00:00
|
|
|
|
retry: 0
|
2021-05-04 19:22:32 +00:00
|
|
|
|
rules: !reference [.if-fuzz-schedule]
|
2021-05-05 22:44:14 +00:00
|
|
|
|
tags:
|
|
|
|
|
- wireshark-ubuntu-fuzz
|
2021-05-04 19:22:32 +00:00
|
|
|
|
resource_group: fuzz-master
|
|
|
|
|
variables:
|
2021-05-06 01:38:13 +00:00
|
|
|
|
INSTALL_PREFIX: "$CI_PROJECT_DIR/_install"
|
2021-05-04 19:22:32 +00:00
|
|
|
|
MIN_PLUGINS: 10
|
2021-05-06 01:38:13 +00:00
|
|
|
|
MAX_PASSES: 15
|
|
|
|
|
before_script:
|
2023-12-31 01:00:31 +00:00
|
|
|
|
- source /clang-latest.env
|
2021-10-28 18:20:25 +00:00
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get update
|
2023-04-13 18:57:22 +00:00
|
|
|
|
# Use DPkg::options::="--force-overwrite" until
|
|
|
|
|
# https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-15/+bug/2008755
|
|
|
|
|
# https://github.com/llvm/llvm-project/issues/62104
|
|
|
|
|
# are fixed.
|
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get --yes --option DPkg::options::="--force-overwrite" install llvm-$CLANG_VERSION
|
2021-05-06 16:24:35 +00:00
|
|
|
|
- mkdir -p ccache
|
2021-05-04 19:22:32 +00:00
|
|
|
|
- mkdir /tmp/fuzz
|
2021-05-06 16:24:35 +00:00
|
|
|
|
- mkdir build
|
|
|
|
|
- cd build
|
2021-05-06 01:38:13 +00:00
|
|
|
|
after_script:
|
2023-12-08 02:18:49 +00:00
|
|
|
|
# The cache should be large enough to be useful but it shouldn't take
|
|
|
|
|
# too long to restore+save each run.
|
|
|
|
|
- ccache --max-size $( du --summarize --block-size=1M "$CI_PROJECT_DIR/build" | awk '{printf ("%dM", $1 * 1.5)}' )
|
2021-05-06 01:38:13 +00:00
|
|
|
|
- . /tmp/fuzz_result.sh
|
2021-05-04 19:22:32 +00:00
|
|
|
|
- if $FUZZ_PASSED ; then exit 0 ; fi
|
2021-05-05 22:44:14 +00:00
|
|
|
|
- echo Fuzzing failed. Generating report.
|
2023-09-07 01:23:55 +00:00
|
|
|
|
- FUZZ_CAPTURE=$( find /tmp/fuzz -name "fuzz-*.pcap" -o -name "randpkt-*.pcap" | head -n 1 )
|
2021-05-05 22:44:14 +00:00
|
|
|
|
- FUZZ_ERRORS="/tmp/fuzz/$( basename "$FUZZ_CAPTURE" .pcap ).err"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
- printf "\nfuzz-test.sh stderr:\n" >> "$FUZZ_ERRORS"
|
2021-05-05 22:44:14 +00:00
|
|
|
|
- cat fuzz-test.err >> "$FUZZ_ERRORS"
|
|
|
|
|
- |
|
2021-12-11 17:25:29 +00:00
|
|
|
|
if [ -n "$S3_DESTINATION_FUZZ" ] ; then
|
2021-05-05 22:44:14 +00:00
|
|
|
|
aws s3 cp "$FUZZ_CAPTURE" "$S3_DESTINATION_FUZZ/"
|
|
|
|
|
aws s3 cp "$FUZZ_ERRORS" "$S3_DESTINATION_FUZZ/"
|
|
|
|
|
fi
|
2021-05-06 01:38:13 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
ASan Menagerie Fuzz:
|
2021-05-06 01:38:13 +00:00
|
|
|
|
extends: .fuzz-ubuntu
|
|
|
|
|
stage: fuzz-asan
|
2023-04-08 13:13:39 +00:00
|
|
|
|
variables:
|
|
|
|
|
WIRESHARK_LOG_FATAL: "critical"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
script:
|
2023-03-10 18:07:10 +00:00
|
|
|
|
- MAX_SECONDS=$(( 6 * 60 * 60 ))
|
2021-05-24 20:45:31 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-11-11 14:12:14 +00:00
|
|
|
|
- cmake -G Ninja -DBUILD_wireshark=OFF -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DENABLE_CCACHE=ON -DENABLE_WERROR=Off ..
|
2021-05-24 20:45:31 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
- ninja
|
|
|
|
|
- ninja install
|
|
|
|
|
- cd ..
|
2023-09-05 17:34:27 +00:00
|
|
|
|
- FUZZ_PASSED=true
|
2021-05-06 01:38:13 +00:00
|
|
|
|
# /var/menagerie contains captures harvested from wireshark.org's mailing list, wiki, issues, etc.
|
|
|
|
|
# We have more captures than we can fuzz in $MAX_SECONDS, so we shuffle them each run.
|
2023-09-05 17:34:27 +00:00
|
|
|
|
- ./tools/fuzz-test.sh -a -2 -P $MIN_PLUGINS -b $INSTALL_PREFIX/bin -d /tmp/fuzz -t $MAX_SECONDS $( shuf -e /var/menagerie/*/* ) 2> fuzz-test.err || FUZZ_PASSED=false
|
|
|
|
|
# Signal after_script, which runs in its own shell.
|
|
|
|
|
- echo "export FUZZ_PASSED=$FUZZ_PASSED" > /tmp/fuzz_result.sh
|
|
|
|
|
- $FUZZ_PASSED
|
2021-05-06 01:38:13 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
ASan randpkt Fuzz:
|
2021-05-06 01:38:13 +00:00
|
|
|
|
extends: .fuzz-ubuntu
|
|
|
|
|
stage: fuzz-randpkt
|
2023-04-08 13:13:39 +00:00
|
|
|
|
variables:
|
|
|
|
|
WIRESHARK_LOG_FATAL: "critical"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
script:
|
|
|
|
|
# XXX Reuse fuzz-asan?
|
2021-05-24 20:45:31 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-11-11 14:12:14 +00:00
|
|
|
|
- cmake -G Ninja -DBUILD_wireshark=OFF -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DENABLE_CCACHE=ON -DENABLE_WERROR=Off ..
|
2021-05-24 20:45:31 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
- ninja
|
|
|
|
|
- ninja install
|
|
|
|
|
- cd ..
|
2023-09-05 17:34:27 +00:00
|
|
|
|
- FUZZ_PASSED=true
|
|
|
|
|
- ./tools/randpkt-test.sh -a -b $INSTALL_PREFIX/bin -d /tmp/fuzz -p $MAX_PASSES 2> fuzz-test.err || FUZZ_PASSED=false
|
|
|
|
|
- echo "export FUZZ_PASSED=$FUZZ_PASSED" > /tmp/fuzz_result.sh
|
|
|
|
|
- $FUZZ_PASSED
|
2021-05-07 19:03:00 +00:00
|
|
|
|
needs: [ 'ASan Menagerie Fuzz' ]
|
2021-05-06 01:38:13 +00:00
|
|
|
|
|
2021-05-07 19:03:00 +00:00
|
|
|
|
Valgrind Menagerie Fuzz:
|
2021-05-06 01:38:13 +00:00
|
|
|
|
extends: .fuzz-ubuntu
|
|
|
|
|
stage: fuzz-valgrind
|
2023-03-29 18:07:11 +00:00
|
|
|
|
resource_group: fuzz-master-valgrind
|
2022-08-23 13:05:27 +00:00
|
|
|
|
variables:
|
|
|
|
|
# Use DWARF-4 debug info. Valgrind does not support Clang 14 with DWARF-5.
|
|
|
|
|
# https://gitlab.com/wireshark/wireshark/-/issues/18191
|
|
|
|
|
# https://www.mail-archive.com/valgrind-users@lists.sourceforge.net/msg07239.html
|
|
|
|
|
CFLAGS: "-gdwarf-4"
|
2023-04-08 13:13:39 +00:00
|
|
|
|
WIRESHARK_LOG_FATAL: "critical"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
script:
|
2021-05-06 21:49:31 +00:00
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get update
|
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get --yes install valgrind
|
2021-05-07 16:21:30 +00:00
|
|
|
|
- MAX_SECONDS=$(( 3 * 60 * 60 ))
|
2021-05-24 20:45:31 +00:00
|
|
|
|
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
|
2022-11-11 14:12:14 +00:00
|
|
|
|
- cmake -G Ninja -DBUILD_wireshark=OFF -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DENABLE_CCACHE=ON -DENABLE_WERROR=Off ..
|
2021-05-24 20:45:31 +00:00
|
|
|
|
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
|
2021-05-06 01:38:13 +00:00
|
|
|
|
- ninja
|
|
|
|
|
- ninja install
|
|
|
|
|
- cd ..
|
2023-09-05 17:34:27 +00:00
|
|
|
|
- FUZZ_PASSED=true
|
|
|
|
|
- ./tools/fuzz-test.sh -g -P $MIN_PLUGINS -b $INSTALL_PREFIX/bin -d /tmp/fuzz -t $MAX_SECONDS $( shuf -e /var/menagerie/*/* ) 2> fuzz-test.err || FUZZ_PASSED=false
|
|
|
|
|
- echo "export FUZZ_PASSED=$FUZZ_PASSED" > /tmp/fuzz_result.sh
|
|
|
|
|
- $FUZZ_PASSED
|
2021-05-07 19:03:00 +00:00
|
|
|
|
needs: [ 'ASan randpkt Fuzz' ]
|
2022-04-19 12:52:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include:
|
|
|
|
|
- template: Security/SAST.gitlab-ci.yml
|