2022-05-25 00:26:27 +00:00
|
|
|
pinned_go: &pinned_go go=1.17.10-1
|
|
|
|
pinned_go_fips: &pinned_go_fips go-boring=1.17.9-1
|
2021-01-28 16:10:19 +00:00
|
|
|
|
2019-11-04 20:28:48 +00:00
|
|
|
build_dir: &build_dir /cfsetup_build
|
2020-11-20 09:48:02 +00:00
|
|
|
default-flavor: buster
|
2018-10-19 19:01:08 +00:00
|
|
|
stretch: &stretch
|
2018-07-24 19:55:18 +00:00
|
|
|
build:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go
|
2018-07-24 19:55:18 +00:00
|
|
|
- build-essential
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
2018-07-25 21:05:46 +00:00
|
|
|
- make cloudflared
|
2021-11-09 11:37:51 +00:00
|
|
|
build-fips:
|
2021-08-27 18:00:46 +00:00
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go_fips
|
2021-08-27 18:00:46 +00:00
|
|
|
- build-essential
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
2021-11-09 11:37:51 +00:00
|
|
|
- export FIPS=true
|
2021-08-27 18:00:46 +00:00
|
|
|
- make cloudflared
|
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:
|
|
|
|
- *pinned_go_fips
|
|
|
|
- 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
|
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
|
2021-01-28 16:10:19 +00:00
|
|
|
- *pinned_go_fips
|
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
|
2021-12-27 19:41:56 +00:00
|
|
|
build-fips-internal-deb-nightly:
|
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
|
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-06-26 18:47:11 +00:00
|
|
|
publish-deb:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go
|
2020-06-26 18:47:11 +00:00
|
|
|
- build-essential
|
|
|
|
- fakeroot
|
|
|
|
- rubygem-fpm
|
2020-06-30 19:46:05 +00:00
|
|
|
- openssh-client
|
2020-06-26 18:47:11 +00:00
|
|
|
post-cache:
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
|
|
|
- make publish-deb
|
2020-08-07 19:01:38 +00:00
|
|
|
github-release-macos-amd64:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
|
|
|
- *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
|
2018-07-25 21:05:46 +00:00
|
|
|
test:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
2021-11-09 11:37:51 +00:00
|
|
|
- *pinned_go
|
2018-07-25 21:05:46 +00:00
|
|
|
- build-essential
|
2021-02-10 16:42:09 +00:00
|
|
|
- gotest-to-teamcity
|
2021-11-09 11:37:51 +00:00
|
|
|
pre-cache: &test_pre_cache
|
2021-03-23 14:30:43 +00:00
|
|
|
- go get golang.org/x/tools/cmd/goimports
|
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
|
|
|
|
builddeps:
|
|
|
|
- *pinned_go_fips
|
|
|
|
- build-essential
|
|
|
|
- gotest-to-teamcity
|
|
|
|
pre-cache: *test_pre_cache
|
|
|
|
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:
|
|
|
|
- *pinned_go_fips
|
|
|
|
- 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
|
|
|
|
pre-cache:
|
|
|
|
- sudo pip3 install --upgrade -r component-tests/requirements.txt
|
|
|
|
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
|
2020-03-30 19:36:32 +00:00
|
|
|
update-homebrew:
|
|
|
|
builddeps:
|
2020-06-16 00:08:10 +00:00
|
|
|
- openssh-client
|
2020-03-30 19:36:32 +00:00
|
|
|
- s3cmd
|
2022-03-22 18:55:32 +00:00
|
|
|
- jq
|
2022-03-25 18:44:17 +00:00
|
|
|
- build-essential
|
2020-03-30 19:36:32 +00:00
|
|
|
post-cache:
|
|
|
|
- .teamcity/update-homebrew.sh
|
2022-03-22 18:55:32 +00:00
|
|
|
- .teamcity/update-homebrew-core.sh
|
2020-07-29 17:50:25 +00:00
|
|
|
github-message-release:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
|
|
|
- *pinned_go
|
2021-10-14 15:47:34 +00:00
|
|
|
- build-essential
|
|
|
|
- python3-dev
|
|
|
|
- libffi-dev
|
2020-07-29 17:50:25 +00:00
|
|
|
- python3-setuptools
|
|
|
|
- python3-pip
|
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
|
2020-09-22 21:56:23 +00:00
|
|
|
build-junos:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
|
|
|
- *pinned_go
|
|
|
|
- build-essential
|
|
|
|
- python3
|
|
|
|
- genisoimage
|
|
|
|
- jetez
|
|
|
|
pre-cache:
|
|
|
|
- ln -s /usr/bin/genisoimage /usr/bin/mkisofs
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=freebsd
|
|
|
|
- export GOARCH=amd64
|
|
|
|
- make cloudflared-junos
|
|
|
|
publish-junos:
|
|
|
|
build_dir: *build_dir
|
|
|
|
builddeps:
|
|
|
|
- *pinned_go
|
|
|
|
- build-essential
|
|
|
|
- python3
|
|
|
|
- genisoimage
|
|
|
|
- jetez
|
|
|
|
- s4cmd
|
|
|
|
pre-cache:
|
|
|
|
- ln -s /usr/bin/genisoimage /usr/bin/mkisofs
|
|
|
|
post-cache:
|
|
|
|
- export GOOS=freebsd
|
|
|
|
- export GOARCH=amd64
|
|
|
|
- make publish-cloudflared-junos
|
2018-10-19 19:01:08 +00:00
|
|
|
|
2020-05-20 16:26:28 +00:00
|
|
|
buster: *stretch
|
2020-11-20 09:48:02 +00:00
|
|
|
bullseye: *stretch
|
2020-06-30 15:43:54 +00:00
|
|
|
centos-7:
|
|
|
|
publish-rpm:
|
|
|
|
build_dir: *build_dir
|
2020-07-09 15:57:19 +00:00
|
|
|
builddeps: &el7_builddeps
|
2020-06-30 15:43:54 +00:00
|
|
|
- https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
2020-09-18 21:25:12 +00:00
|
|
|
pre-cache:
|
|
|
|
- yum install -y fakeroot
|
2021-05-20 16:27:16 +00:00
|
|
|
- yum upgrade -y binutils-2.27-44.base.el7.x86_64
|
2022-05-25 00:26:27 +00:00
|
|
|
- wget https://go.dev/dl/go1.17.10.linux-amd64.tar.gz -P /tmp/
|
|
|
|
- tar -C /usr/local -xzf /tmp/go1.17.10.linux-amd64.tar.gz
|
2020-09-18 21:25:12 +00:00
|
|
|
post-cache:
|
2020-06-30 15:43:54 +00:00
|
|
|
- export PATH=$PATH:/usr/local/go/bin
|
|
|
|
- export GOOS=linux
|
|
|
|
- export GOARCH=amd64
|
2022-05-12 07:32:09 +00:00
|
|
|
- make publish-rpm
|