308 lines
7.9 KiB
YAML
308 lines
7.9 KiB
YAML
pinned_go: &pinned_go go=1.16.3-1
|
|
pinned_go_fips: &pinned_go_fips go-fips=1.15.5-3
|
|
|
|
build_dir: &build_dir /cfsetup_build
|
|
default-flavor: buster
|
|
stretch: &stretch
|
|
build:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go_fips
|
|
- build-essential
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- make cloudflared
|
|
build-deb:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deb_deps
|
|
- *pinned_go_fips
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- make cloudflared-deb
|
|
build-deb-nightly:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deb_deps
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- export NIGHTLY=true
|
|
- make cloudflared-deb
|
|
build-deb-arm64:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deb_deps
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=arm64
|
|
- make cloudflared-deb
|
|
publish-deb:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go_fips
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
- openssh-client
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- make publish-deb
|
|
release-linux-amd64:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go_fips
|
|
- build-essential
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- make release
|
|
github-release-linux-amd64:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go_fips
|
|
- build-essential
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: &install_pygithub
|
|
- pip3 install pygithub
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- make github-release
|
|
release-linux-armv6:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- crossbuild-essential-armhf
|
|
- gcc-arm-linux-gnueabihf
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=arm
|
|
- export CC=arm-linux-gnueabihf-gcc
|
|
- make release
|
|
github-release-linux-armv6:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- crossbuild-essential-armhf
|
|
- gcc-arm-linux-gnueabihf
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=arm
|
|
- export CC=arm-linux-gnueabihf-gcc
|
|
- make github-release
|
|
release-linux-386:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- gcc-multilib
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=386
|
|
- make release
|
|
github-release-linux-386:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- gcc-multilib
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=386
|
|
- make github-release
|
|
release-windows-amd64:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- gcc-mingw-w64
|
|
post-cache:
|
|
- export GOOS=windows
|
|
- export GOARCH=amd64
|
|
- export CC=x86_64-w64-mingw32-gcc
|
|
- make release
|
|
github-release-windows-amd64:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- gcc-mingw-w64
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- export GOOS=windows
|
|
- export GOARCH=amd64
|
|
- export CC=x86_64-w64-mingw32-gcc
|
|
- make github-release
|
|
release-windows-386:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- gcc-mingw-w64
|
|
post-cache:
|
|
- export GOOS=windows
|
|
- export GOARCH=386
|
|
- export CC=i686-w64-mingw32-gcc-win32
|
|
- make release
|
|
github-release-windows-386:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- gcc-mingw-w64
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- export GOOS=windows
|
|
- export GOARCH=386
|
|
- export CC=i686-w64-mingw32-gcc-win32
|
|
- make github-release
|
|
github-release-linux-arm64:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- crossbuild-essential-armhf
|
|
- g++-aarch64-linux-gnu
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=arm64
|
|
- export CC=aarch64-linux-gnu-gcc
|
|
- make github-release
|
|
github-release-macos-amd64:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- make github-mac-upload
|
|
test:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go_fips
|
|
- build-essential
|
|
- gotest-to-teamcity
|
|
pre-cache:
|
|
- go get golang.org/x/tools/cmd/goimports
|
|
- go get github.com/BurntSushi/go-sumtype
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- export PATH="$HOME/go/bin:$PATH"
|
|
- ./fmt-check.sh
|
|
- make test | gotest-to-teamcity
|
|
component-test:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go_fips
|
|
- 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:
|
|
- sudo pip3 install --upgrade -r component-tests/requirements.txt
|
|
post-cache:
|
|
# Creates and routes a Named Tunnel for this build. Also constructs config file from env vars.
|
|
- python3 component-tests/setup.py --type create
|
|
- pytest component-tests
|
|
# The Named Tunnel is deleted and its route unprovisioned here.
|
|
- python3 component-tests/setup.py --type cleanup
|
|
update-homebrew:
|
|
builddeps:
|
|
- openssh-client
|
|
- s3cmd
|
|
post-cache:
|
|
- .teamcity/update-homebrew.sh
|
|
github-message-release:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- python3-setuptools
|
|
- python3-pip
|
|
pre-cache: *install_pygithub
|
|
post-cache:
|
|
- make github-message
|
|
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
|
|
|
|
buster: *stretch
|
|
bullseye: *stretch
|
|
centos-7:
|
|
publish-rpm:
|
|
build_dir: *build_dir
|
|
builddeps: &el7_builddeps
|
|
- https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
pre-cache:
|
|
- yum install -y fakeroot
|
|
- yum upgrade -y binutils-2.27-44.base.el7.x86_64
|
|
- wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz -P /tmp/
|
|
- tar -C /usr/local -xzf /tmp/go1.16.3.linux-amd64.tar.gz
|
|
post-cache:
|
|
- export PATH=$PATH:/usr/local/go/bin
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- make publish-rpm
|
|
build-rpm:
|
|
build_dir: *build_dir
|
|
builddeps: *el7_builddeps
|
|
pre-cache:
|
|
- yum install -y fakeroot
|
|
- yum upgrade -y binutils-2.27-44.base.el7.x86_64
|
|
- wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz -P /tmp/
|
|
- tar -C /usr/local -xzf /tmp/go1.16.3.linux-amd64.tar.gz
|
|
post-cache:
|
|
- export PATH=$PATH:/usr/local/go/bin
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- make cloudflared-rpm
|