mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-07-27 13:09:58 +00:00

## Summary This commit removes configurations and references for Debian-based releases that are no longer supported in the build and packaging processes. For Ubuntu versions for most of them only PRO users still have support, so we might decide remove some of them as well. Information available in: - Debian Releases: https://wiki.debian.org/LTS (we no longer support bullseye at Cloudflare) - Ubuntu Releases: https://ubuntu.com/about/release-cycle Closes TUN-9542
257 lines
6.9 KiB
YAML
257 lines
6.9 KiB
YAML
pinned_go: &pinned_go go-boring=1.24.4-1
|
|
|
|
build_dir: &build_dir /cfsetup_build
|
|
default-flavor: bookworm
|
|
|
|
bookworm: &bookworm
|
|
build-linux:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deps
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
- rpm
|
|
- libffi-dev
|
|
- golangci-lint=1.64.8-2
|
|
pre-cache: &build_pre_cache
|
|
- export GOCACHE=/cfsetup_build/.cache/go-build
|
|
- go install golang.org/x/tools/cmd/goimports@v0.30.0
|
|
post-cache:
|
|
# Linting
|
|
- make lint
|
|
- make fmt-check
|
|
# Build binary for component test
|
|
- GOOS=linux GOARCH=amd64 make cloudflared
|
|
build-linux-fips:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deps
|
|
pre-cache: *build_pre_cache
|
|
post-cache:
|
|
- export FIPS=true
|
|
# Build binary for component test
|
|
- GOOS=linux GOARCH=amd64 make cloudflared
|
|
cover:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deps
|
|
pre-cache: *build_pre_cache
|
|
post-cache:
|
|
- make cover
|
|
# except FIPS and macos
|
|
build-linux-release:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deps_release
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
- rpm
|
|
- libffi-dev
|
|
- python3-dev
|
|
- python3-pip
|
|
- python3-setuptools
|
|
- wget
|
|
- python3-venv
|
|
post-cache:
|
|
- python3 -m venv env
|
|
- . /cfsetup_build/env/bin/activate
|
|
- pip install pynacl==1.4.0 pygithub==1.55 boto3==1.22.9 python-gnupg==0.4.9
|
|
# build all packages (except macos and FIPS) and move them to /cfsetup/built_artifacts
|
|
- ./build-packages.sh
|
|
# handle FIPS separately so that we built with gofips compiler
|
|
build-linux-fips-release:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deps_release
|
|
post-cache:
|
|
# same logic as above, but for FIPS packages only
|
|
- ./build-packages-fips.sh
|
|
generate-versions-file:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- build-essential
|
|
post-cache:
|
|
- make generate-docker-version
|
|
build-deb:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deb_deps
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- make cloudflared-deb
|
|
build-fips-internal-deb:
|
|
build_dir: *build_dir
|
|
builddeps: &build_fips_deb_deps
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- export ORIGINAL_NAME=true
|
|
- make cloudflared-deb
|
|
build-internal-deb-nightly-amd64:
|
|
build_dir: *build_dir
|
|
builddeps: *build_fips_deb_deps
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export NIGHTLY=true
|
|
- export FIPS=true
|
|
- export ORIGINAL_NAME=true
|
|
- make cloudflared-deb
|
|
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
|
|
build-deb-arm64:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deb_deps
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=arm64
|
|
- make cloudflared-deb
|
|
package-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
|
|
- python3-venv
|
|
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
|
|
post-cache:
|
|
- python3 -m venv env
|
|
- . env/bin/activate
|
|
- pip install pynacl==1.4.0 pygithub==1.55
|
|
- .teamcity/package-windows.sh
|
|
test:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deps_tests
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
- rpm
|
|
- libffi-dev
|
|
- gotest-to-teamcity
|
|
pre-cache: *build_pre_cache
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export PATH="$HOME/go/bin:$PATH"
|
|
- make test | gotest-to-teamcity
|
|
test-fips:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deps_tests
|
|
pre-cache: *build_pre_cache
|
|
post-cache:
|
|
- export GOOS=linux
|
|
- export GOARCH=amd64
|
|
- export FIPS=true
|
|
- export PATH="$HOME/go/bin:$PATH"
|
|
- make test | gotest-to-teamcity
|
|
component-test:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deps_component_test
|
|
- *pinned_go
|
|
- python3
|
|
- 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
|
|
- python3-venv
|
|
pre-cache-copy-paths:
|
|
- component-tests/requirements.txt
|
|
post-cache: &component_test_post_cache
|
|
- python3 -m venv env
|
|
- . env/bin/activate
|
|
- pip install --upgrade -r component-tests/requirements.txt
|
|
# 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 -o log_cli=true --log-cli-level=INFO
|
|
# The Named Tunnel is deleted and its route unprovisioned here.
|
|
- python3 component-tests/setup.py --type cleanup
|
|
component-test-fips:
|
|
build_dir: *build_dir
|
|
builddeps: *build_deps_component_test
|
|
pre-cache-copy-paths:
|
|
- component-tests/requirements.txt
|
|
post-cache: *component_test_post_cache
|
|
github-release-dryrun:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- build-essential
|
|
- python3-dev
|
|
- libffi-dev
|
|
- python3-setuptools
|
|
- python3-pip
|
|
- python3-venv
|
|
post-cache:
|
|
- python3 -m venv env
|
|
- . env/bin/activate
|
|
- pip install pynacl==1.4.0 pygithub==1.55
|
|
- make github-release-dryrun
|
|
github-release:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- build-essential
|
|
- python3-dev
|
|
- libffi-dev
|
|
- python3-setuptools
|
|
- python3-pip
|
|
- python3-venv
|
|
post-cache:
|
|
- python3 -m venv env
|
|
- . env/bin/activate
|
|
- pip install pynacl==1.4.0 pygithub==1.55
|
|
- make github-release
|
|
r2-linux-release:
|
|
build_dir: *build_dir
|
|
builddeps:
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
- rpm
|
|
- wget
|
|
- python3-dev
|
|
- libffi-dev
|
|
- python3-setuptools
|
|
- python3-pip
|
|
- reprepro
|
|
- createrepo-c
|
|
- python3-venv
|
|
post-cache:
|
|
- python3 -m venv env
|
|
- . env/bin/activate
|
|
- pip install pynacl==1.4.0 pygithub==1.55 boto3==1.22.9 python-gnupg==0.4.9
|
|
- make r2-linux-release
|
|
|
|
trixie: *bookworm
|