mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-08-02 14:10:14 +00:00

## Summary To improve our code, this commit adds a linter that will start checking for issues from this commit onwards, also forcing issues to be fixed on the file changed and not only on the changes themselves. This should help improve our code quality overtime. Closes TUN-8866
258 lines
6.9 KiB
YAML
258 lines
6.9 KiB
YAML
pinned_go: &pinned_go go-boring=1.22.5-1
|
|
|
|
build_dir: &build_dir /cfsetup_build
|
|
default-flavor: bookworm
|
|
|
|
bullseye: &bullseye
|
|
build-linux:
|
|
build_dir: *build_dir
|
|
builddeps: &build_deps
|
|
- *pinned_go
|
|
- build-essential
|
|
- fakeroot
|
|
- rubygem-fpm
|
|
- rpm
|
|
- libffi-dev
|
|
- golangci-lint
|
|
pre-cache: &build_pre_cache
|
|
- export GOCACHE=/cfsetup_build/.cache/go-build
|
|
- go install golang.org/x/tools/cmd/goimports@latest
|
|
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
|
|
|
|
bookworm: *bullseye
|
|
trixie: *bullseye
|