2024-05-07 10:19:58 +00:00
|
|
|
pinned_go: &pinned_go go-boring=1.22.2-1
|
2021-01-28 16:10:19 +00:00
|
|
|
|
2019-11-04 20:28:48 +00:00
|
|
|
build_dir: &build_dir /cfsetup_build
|
2022-08-04 10:12:26 +00:00
|
|
|
default-flavor: bullseye
|
2023-04-24 22:45:48 +00:00
|
|
|
buster: &buster
|
2018-07-24 19:55:18 +00:00
|
|
|
build:
|
|
|
|
build_dir: *build_dir
|
2022-11-04 23:39:42 +00:00
|
|
|
builddeps: &build_deps
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go
|
2018-07-24 19:55:18 +00:00
|
|
|
- build-essential
|
2022-11-04 23:39:42 +00:00
|
|
|
- gotest-to-teamcity
|
2024-01-09 11:33:00 +00:00
|
|
|
- fakeroot
|
|
|
|
- rubygem-fpm
|
|
|
|
- rpm
|
|
|
|
- libffi-dev
|
|
|
|
- reprepro
|
|
|
|
- createrepo
|
2022-11-04 23:39:42 +00:00
|
|
|
pre-cache: &build_pre_cache
|
|
|
|
- export GOCACHE=/cfsetup_build/.cache/go-build
|
|
|
|
- go install golang.org/x/tools/cmd/goimports@latest
|
2018-07-24 19:55:18 +00:00
|
|
|
post-cache:
|
2024-01-09 11:33:00 +00:00
|
|
|
# TODO: TUN-8126 this is temporary to make sure packages can be built before release
|
|
|
|
- ./build-packages.sh
|
|
|
|
# Build binary for component test
|
|
|
|
- GOOS=linux GOARCH=amd64 make cloudflared
|
2021-11-09 11:37:51 +00:00
|
|
|
build-fips:
|
2021-08-27 18:00:46 +00:00
|
|
|
build_dir: *build_dir
|
2023-12-11 11:58:19 +00:00
|
|
|
builddeps: *build_deps
|
2022-11-04 23:39:42 +00:00
|
|
|
pre-cache: *build_pre_cache
|
2021-08-27 18:00:46 +00:00
|
|
|
post-cache:
|
2023-12-11 11:58:19 +00:00
|
|
|
- export FIPS=true
|
2024-01-09 11:33:00 +00:00
|
|
|
# TODO: TUN-8126 this is temporary to make sure packages can be built before release
|
|
|
|
- ./build-packages-fips.sh
|
|
|
|
# Build binary for component test
|
|
|
|
- GOOS=linux GOARCH=amd64 make cloudflared
|
2024-05-07 10:19:58 +00:00
|
|
|
cover:
|
2023-05-31 13:59:05 +00:00
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps: *build_deps
|
|
|
|
pre-cache: *build_pre_cache
|
2024-05-07 10:19:58 +00:00
|
|
|
post-cache:
|
2023-05-31 13:59:05 +00:00
|
|
|
- make cover
|
2021-11-09 11:37:51 +00:00
|
|
|
# except FIPS (handled in github-fips-release-pkgs) and macos (handled in github-release-macos-amd64)
|
|
|
|
github-release-pkgs:
|
2021-07-22 15:36:49 +00:00
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go
|
2021-07-22 15:36:49 +00:00
|
|
|
- build-essential
|
|
|
|
- fakeroot
|
|
|
|
- rubygem-fpm
|
|
|
|
- rpm
|
|
|
|
- wget
|
|
|
|
# libmsi and libgcab are libraries the wixl binary depends on.
|
|
|
|
- libmsi-dev
|
|
|
|
- libgcab-dev
|
2021-11-09 11:37:51 +00:00
|
|
|
- python3-dev
|
|
|
|
- libffi-dev
|
|
|
|
- python3-setuptools
|
|
|
|
- python3-pip
|
2022-05-12 07:32:09 +00:00
|
|
|
- reprepro
|
|
|
|
- createrepo
|
2021-11-09 11:37:51 +00:00
|
|
|
pre-cache: &github_release_pkgs_pre_cache
|
2021-07-22 15:36:49 +00:00
|
|
|
- wget https://github.com/sudarshan-reddy/msitools/releases/download/v0.101b/wixl -P /usr/local/bin
|
|
|
|
- chmod a+x /usr/local/bin/wixl
|
2022-01-13 11:27:22 +00:00
|
|
|
- pip3 install pynacl==1.4.0
|
|
|
|
- pip3 install pygithub==1.55
|
2022-05-12 07:32:09 +00:00
|
|
|
- pip3 install boto3==1.22.9
|
2022-05-24 12:20:17 +00:00
|
|
|
- pip3 install python-gnupg==0.4.9
|
2021-07-22 15:36:49 +00:00
|
|
|
post-cache:
|
2021-11-09 11:37:51 +00:00
|
|
|
# build all packages (except macos and FIPS) and move them to /cfsetup/built_artifacts
|
2021-07-22 15:36:49 +00:00
|
|
|
- ./build-packages.sh
|
2021-11-09 11:37:51 +00:00
|
|
|
# release the packages built and moved to /cfsetup/built_artifacts
|
|
|
|
- make github-release-built-pkgs
|
2022-05-25 13:01:53 +00:00
|
|
|
# publish packages to linux repos
|
|
|
|
- make release-pkgs-linux
|
2021-11-09 11:37:51 +00:00
|
|
|
# handle FIPS separately so that we built with gofips compiler
|
|
|
|
github-fips-release-pkgs:
|
2021-07-26 12:49:17 +00:00
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2023-12-11 11:58:19 +00:00
|
|
|
- *pinned_go
|
2021-07-26 12:49:17 +00:00
|
|
|
- build-essential
|
|
|
|
- fakeroot
|
|
|
|
- rubygem-fpm
|
|
|
|
- rpm
|
|
|
|
- wget
|
|
|
|
# libmsi and libgcab are libraries the wixl binary depends on.
|
|
|
|
- libmsi-dev
|
|
|
|
- libgcab-dev
|
2021-10-13 23:53:26 +00:00
|
|
|
- python3-dev
|
|
|
|
- libffi-dev
|
2021-07-26 12:49:17 +00:00
|
|
|
- python3-setuptools
|
|
|
|
- python3-pip
|
2021-11-09 11:37:51 +00:00
|
|
|
pre-cache: *github_release_pkgs_pre_cache
|
2021-07-26 12:49:17 +00:00
|
|
|
post-cache:
|
2021-11-09 11:37:51 +00:00
|
|
|
# same logic as above, but for FIPS packages only
|
|
|
|
- ./build-packages-fips.sh
|
2021-07-26 12:49:17 +00:00
|
|
|
- make github-release-built-pkgs
|
2022-10-04 13:14:17 +00:00
|
|
|
generate-versions-file:
|
|
|
|
build_dir: *build_dir
|
2024-05-07 10:19:58 +00:00
|
|
|
builddeps:
|
2022-10-18 12:49:19 +00:00
|
|
|
- *pinned_go
|
2022-10-04 13:14:17 +00:00
|
|
|
- build-essential
|
|
|
|
post-cache:
|
|
|
|
- make generate-docker-version
|
2018-07-25 21:05:46 +00:00
|
|
|
build-deb:
|
|
|
|
build_dir: *build_dir
|
2021-07-14 19:45:29 +00:00
|
|
|
builddeps: &build_deb_deps
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go
|
|
|
|
- build-essential
|
|
|
|
- fakeroot
|
|
|
|
- rubygem-fpm
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
|
|
|
- make cloudflared-deb
|
2021-12-27 19:41:56 +00:00
|
|
|
build-fips-internal-deb:
|
2021-11-09 11:37:51 +00:00
|
|
|
build_dir: *build_dir
|
2021-12-27 19:41:56 +00:00
|
|
|
builddeps: &build_fips_deb_deps
|
2023-12-11 11:58:19 +00:00
|
|
|
- *pinned_go
|
2018-07-25 21:05:46 +00:00
|
|
|
- build-essential
|
|
|
|
- fakeroot
|
|
|
|
- rubygem-fpm
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
2021-01-28 16:10:19 +00:00
|
|
|
- export FIPS=true
|
2022-01-03 18:39:08 +00:00
|
|
|
- export ORIGINAL_NAME=true
|
|
|
|
- make cloudflared-deb
|
2023-07-17 22:04:17 +00:00
|
|
|
build-internal-deb-nightly-amd64:
|
2021-07-14 19:45:29 +00:00
|
|
|
build_dir: *build_dir
|
2021-12-27 19:41:56 +00:00
|
|
|
builddeps: *build_fips_deb_deps
|
2021-07-14 19:45:29 +00:00
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
|
|
|
- export NIGHTLY=true
|
2021-12-27 19:41:56 +00:00
|
|
|
- export FIPS=true
|
2022-01-03 18:39:08 +00:00
|
|
|
- export ORIGINAL_NAME=true
|
|
|
|
- make cloudflared-deb
|
2023-07-17 22:04:17 +00:00
|
|
|
build-internal-deb-nightly-arm64:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps: *build_fips_deb_deps
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=arm64
|
|
|
|
- export NIGHTLY=true
|
|
|
|
#- export FIPS=true # TUN-7595
|
|
|
|
- export ORIGINAL_NAME=true
|
|
|
|
- make cloudflared-deb
|
2020-07-21 00:42:50 +00:00
|
|
|
build-deb-arm64:
|
|
|
|
build_dir: *build_dir
|
2021-07-14 19:45:29 +00:00
|
|
|
builddeps: *build_deb_deps
|
2020-07-21 00:42:50 +00:00
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=arm64
|
|
|
|
- make cloudflared-deb
|
2020-08-07 19:01:38 +00:00
|
|
|
github-release-macos-amd64:
|
|
|
|
build_dir: *build_dir
|
2022-09-15 21:26:02 +00:00
|
|
|
builddeps: &build_pygithub
|
2020-08-07 19:01:38 +00:00
|
|
|
- *pinned_go
|
2021-10-14 15:47:34 +00:00
|
|
|
- build-essential
|
|
|
|
- python3-dev
|
|
|
|
- libffi-dev
|
2020-08-07 19:01:38 +00:00
|
|
|
- python3-setuptools
|
|
|
|
- python3-pip
|
2021-07-30 11:29:51 +00:00
|
|
|
pre-cache: &install_pygithub
|
2022-01-13 11:27:22 +00:00
|
|
|
- pip3 install pynacl==1.4.0
|
|
|
|
- pip3 install pygithub==1.55
|
2020-08-07 19:01:38 +00:00
|
|
|
post-cache:
|
|
|
|
- make github-mac-upload
|
2022-09-15 21:26:02 +00:00
|
|
|
github-release-windows:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
|
|
|
- *pinned_go
|
|
|
|
- build-essential
|
|
|
|
- python3-dev
|
|
|
|
- libffi-dev
|
|
|
|
- python3-setuptools
|
|
|
|
- python3-pip
|
|
|
|
- wget
|
|
|
|
# libmsi and libgcab are libraries the wixl binary depends on.
|
|
|
|
- libmsi-dev
|
|
|
|
- libgcab-dev
|
|
|
|
pre-cache:
|
|
|
|
- wget https://github.com/sudarshan-reddy/msitools/releases/download/v0.101b/wixl -P /usr/local/bin
|
|
|
|
- chmod a+x /usr/local/bin/wixl
|
|
|
|
- pip3 install pynacl==1.4.0
|
|
|
|
- pip3 install pygithub==1.55
|
|
|
|
post-cache:
|
|
|
|
- .teamcity/package-windows.sh
|
|
|
|
- make github-windows-upload
|
2018-07-25 21:05:46 +00:00
|
|
|
test:
|
|
|
|
build_dir: *build_dir
|
2022-11-04 23:39:42 +00:00
|
|
|
builddeps: *build_deps
|
|
|
|
pre-cache: *build_pre_cache
|
2018-07-25 21:05:46 +00:00
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
2021-11-09 11:37:51 +00:00
|
|
|
- export PATH="$HOME/go/bin:$PATH"
|
|
|
|
- ./fmt-check.sh
|
|
|
|
- make test | gotest-to-teamcity
|
|
|
|
test-fips:
|
|
|
|
build_dir: *build_dir
|
2023-12-11 11:58:19 +00:00
|
|
|
builddeps: *build_deps
|
2022-11-04 23:39:42 +00:00
|
|
|
pre-cache: *build_pre_cache
|
2021-11-09 11:37:51 +00:00
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
2021-01-28 16:10:19 +00:00
|
|
|
- export FIPS=true
|
2019-11-04 20:28:48 +00:00
|
|
|
- export PATH="$HOME/go/bin:$PATH"
|
2021-03-23 14:30:43 +00:00
|
|
|
- ./fmt-check.sh
|
2021-02-10 16:42:09 +00:00
|
|
|
- make test | gotest-to-teamcity
|
2021-03-08 11:07:26 +00:00
|
|
|
component-test:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2022-09-28 19:25:54 +00:00
|
|
|
- *pinned_go
|
2021-03-08 11:07:26 +00:00
|
|
|
- python3.7
|
|
|
|
- python3-pip
|
|
|
|
- python3-setuptools
|
2021-03-12 13:37:53 +00:00
|
|
|
# procps installs the ps command which is needed in test_sysv_service because the init script
|
|
|
|
# uses ps pid to determine if the agent is running
|
|
|
|
- procps
|
2021-03-08 11:07:26 +00:00
|
|
|
pre-cache-copy-paths:
|
|
|
|
- component-tests/requirements.txt
|
2022-09-28 19:25:54 +00:00
|
|
|
pre-cache: &component_test_pre_cache
|
2021-03-08 11:07:26 +00:00
|
|
|
- sudo pip3 install --upgrade -r component-tests/requirements.txt
|
2022-09-28 19:25:54 +00:00
|
|
|
post-cache: &component_test_post_cache
|
2021-03-25 20:45:53 +00:00
|
|
|
# Creates and routes a Named Tunnel for this build. Also constructs config file from env vars.
|
|
|
|
- python3 component-tests/setup.py --type create
|
2021-11-09 17:30:57 +00:00
|
|
|
- pytest component-tests -o log_cli=true --log-cli-level=INFO
|
2021-03-25 20:45:53 +00:00
|
|
|
# The Named Tunnel is deleted and its route unprovisioned here.
|
|
|
|
- python3 component-tests/setup.py --type cleanup
|
2022-09-28 19:25:54 +00:00
|
|
|
component-test-fips:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2023-12-11 11:58:19 +00:00
|
|
|
- *pinned_go
|
2022-09-28 19:25:54 +00:00
|
|
|
- python3.7
|
|
|
|
- python3-pip
|
|
|
|
- python3-setuptools
|
|
|
|
# procps installs the ps command which is needed in test_sysv_service because the init script
|
|
|
|
# uses ps pid to determine if the agent is running
|
|
|
|
- procps
|
|
|
|
pre-cache-copy-paths:
|
|
|
|
- component-tests/requirements.txt
|
|
|
|
pre-cache: *component_test_pre_cache
|
|
|
|
post-cache: *component_test_post_cache
|
2020-07-29 17:50:25 +00:00
|
|
|
github-message-release:
|
|
|
|
build_dir: *build_dir
|
2022-09-15 21:26:02 +00:00
|
|
|
builddeps: *build_pygithub
|
2020-09-18 21:25:12 +00:00
|
|
|
pre-cache: *install_pygithub
|
2020-07-29 17:50:25 +00:00
|
|
|
post-cache:
|
|
|
|
- make github-message
|
2018-10-19 19:01:08 +00:00
|
|
|
|
2023-04-24 22:45:48 +00:00
|
|
|
bullseye: *buster
|
|
|
|
bookworm: *buster
|