pinned_go: &pinned_go go=1.16.4-3 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: - *pinned_go_fips - build-essential - fakeroot - rubygem-fpm post-cache: - export GOOS=linux - export GOARCH=amd64 - export FIPS=true - make cloudflared-deb build-deb-arm64: build_dir: *build_dir builddeps: - *pinned_go - build-essential - fakeroot - rubygem-fpm 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 - wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz -P /tmp/ - tar -C /usr/local -xzf /tmp/go1.16.4.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 - wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz -P /tmp/ - tar -C /usr/local -xzf /tmp/go1.16.4.linux-amd64.tar.gz post-cache: - export PATH=$PATH:/usr/local/go/bin - export GOOS=linux - export GOARCH=amd64 - make cloudflared-rpm