mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2026-08-04 15:28:58 +00:00
Pull request 2714: AGDNS-3548-new-client-ci
Squashed commit of the following: commit40dcae2331Author: Ainar Garipov <a.garipov@adguard.com> Date: Tue Jul 14 21:17:00 2026 +0300 bamboo-specs: fix e2e commit6fa4a7f5feAuthor: Ainar Garipov <a.garipov@adguard.com> Date: Tue Jul 14 21:03:25 2026 +0300 all: support new client in ci
This commit is contained in:
parent
1dd7b48e68
commit
c1f208ef65
3 changed files with 36 additions and 15 deletions
|
|
@ -10,6 +10,7 @@
|
|||
# flaky test suite.
|
||||
'cacheBuster': '0'
|
||||
'channel': 'edge'
|
||||
'clientDir': 'client'
|
||||
'dockerFrontend': 'adguard/home-js-builder:4.0'
|
||||
'dockerGo': 'adguard/go-builder:1.26.5--1'
|
||||
|
||||
|
|
@ -67,8 +68,9 @@
|
|||
docker info
|
||||
|
||||
docker build \
|
||||
--build-arg "BASE_IMAGE=${bamboo.dockerFrontend}" \
|
||||
--build-arg "BASE_IMAGE=${bamboo_dockerFrontend}" \
|
||||
--build-arg "CACHE_BUSTER=${bamboo_cacheBuster}" \
|
||||
--build-arg "CLIENT_DIR=${bamboo_clientDir}" \
|
||||
--output '.' \
|
||||
--progress 'plain' \
|
||||
--target 'builder-exporter' \
|
||||
|
|
@ -104,7 +106,7 @@
|
|||
set -e -f -u -x
|
||||
|
||||
# Explicitly checkout the revision that we need.
|
||||
git checkout "${bamboo.repository.revision.number}"
|
||||
git checkout "${bamboo_repository_revision_number}"
|
||||
|
||||
version="$(env CHANNEL=${bamboo_channel} sh ./scripts/make/version.sh)"
|
||||
readonly version
|
||||
|
|
@ -160,8 +162,8 @@
|
|||
|
||||
# Login to DockerHub.
|
||||
docker login \
|
||||
-u="${bamboo.dockerHubUsername}" \
|
||||
-p="${bamboo.dockerHubPassword}"
|
||||
-u="${bamboo_dockerHubUsername}" \
|
||||
-p="${bamboo_dockerHubPassword}"
|
||||
|
||||
# Boot the builder.
|
||||
docker buildx inspect --bootstrap
|
||||
|
|
@ -172,8 +174,8 @@
|
|||
|
||||
# Prepare and push the build.
|
||||
env \
|
||||
CHANNEL="${bamboo.channel}" \
|
||||
REVISION="${bamboo.repository.revision.number}" \
|
||||
CHANNEL="${bamboo_channel}" \
|
||||
REVISION="${bamboo_repository_revision_number}" \
|
||||
DIST_DIR='dist' \
|
||||
DOCKER_IMAGE_NAME='adguard/adguardhome' \
|
||||
DOCKER_PUSH='1' \
|
||||
|
|
@ -202,7 +204,7 @@
|
|||
|
||||
cd ./dist/
|
||||
|
||||
CHANNEL="${bamboo.channel}"
|
||||
CHANNEL="${bamboo_channel}"
|
||||
export CHANNEL
|
||||
|
||||
../bamboo-deploy-publisher/deploy.sh adguard-home-"$CHANNEL"
|
||||
|
|
@ -227,7 +229,7 @@
|
|||
|
||||
set -e -f -u -x
|
||||
|
||||
channel="${bamboo.channel}"
|
||||
channel="${bamboo_channel}"
|
||||
readonly channel
|
||||
|
||||
if [ "$channel" != 'release' ] && [ "${channel}" != 'beta' ]
|
||||
|
|
@ -240,7 +242,7 @@
|
|||
cd ./dist/
|
||||
|
||||
env\
|
||||
GITHUB_TOKEN="${bamboo.githubPublicRepoPassword}"\
|
||||
GITHUB_TOKEN="${bamboo_githubPublicRepoPassword}"\
|
||||
../bamboo-deploy-publisher/deploy.sh adguard-home-github
|
||||
|
||||
'triggers':
|
||||
|
|
@ -279,6 +281,7 @@
|
|||
# need to build a few of these.
|
||||
'variables':
|
||||
'channel': 'beta'
|
||||
'clientDir': 'client'
|
||||
'dockerFrontend': 'adguard/home-js-builder:4.0'
|
||||
'dockerGo': 'adguard/go-builder:1.26.5--1'
|
||||
# release-vX.Y.Z branches are the branches from which the actual final
|
||||
|
|
@ -295,5 +298,6 @@
|
|||
# are the ones that actually get released.
|
||||
'variables':
|
||||
'channel': 'release'
|
||||
'clientDir': 'client'
|
||||
'dockerFrontend': 'adguard/home-js-builder:4.0'
|
||||
'dockerGo': 'adguard/go-builder:1.26.5--1'
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
# flaky test suite.
|
||||
'cacheBuster': '0'
|
||||
'channel': 'development'
|
||||
'clientDir': 'client'
|
||||
'dockerFrontend': 'adguard/home-js-builder:4.0'
|
||||
'dockerGo': 'adguard/go-builder:1.26.5--1'
|
||||
|
||||
|
|
@ -58,8 +59,9 @@
|
|||
docker info
|
||||
|
||||
docker build \
|
||||
--build-arg "BASE_IMAGE=${bamboo.dockerFrontend}" \
|
||||
--build-arg "BASE_IMAGE=${bamboo_dockerFrontend}" \
|
||||
--build-arg "CACHE_BUSTER=${bamboo_cacheBuster}" \
|
||||
--build-arg "CLIENT_DIR=${bamboo_clientDir}" \
|
||||
--output '.' \
|
||||
--progress 'plain' \
|
||||
--target 'tester' \
|
||||
|
|
@ -127,8 +129,9 @@
|
|||
docker info
|
||||
|
||||
docker build \
|
||||
--build-arg "BASE_IMAGE=${bamboo.dockerFrontend}" \
|
||||
--build-arg "BASE_IMAGE=${bamboo_dockerFrontend}" \
|
||||
--build-arg "CACHE_BUSTER=${bamboo_cacheBuster}" \
|
||||
--build-arg "CLIENT_DIR=${bamboo_clientDir}" \
|
||||
--output '.' \
|
||||
--progress 'plain' \
|
||||
--target 'builder-exporter' \
|
||||
|
|
@ -216,8 +219,9 @@
|
|||
docker info
|
||||
|
||||
docker build \
|
||||
--build-arg "BASE_IMAGE=${bamboo.dockerFrontend}" \
|
||||
--build-arg "BASE_IMAGE=${bamboo_dockerFrontend}" \
|
||||
--build-arg "CACHE_BUSTER=${bamboo_cacheBuster}" \
|
||||
--build-arg "CLIENT_DIR=${bamboo_clientDir}" \
|
||||
--output '.' \
|
||||
--progress 'plain' \
|
||||
--target 'e2etester' \
|
||||
|
|
@ -254,6 +258,7 @@
|
|||
# Set the default release channel on the release branch to beta, as we
|
||||
# may need to build a few of these.
|
||||
'variables':
|
||||
'channel': 'candidate'
|
||||
'clientDir': 'client'
|
||||
'dockerFrontend': 'adguard/home-js-builder:4.0'
|
||||
'dockerGo': 'adguard/go-builder:1.26.5--1'
|
||||
'channel': 'candidate'
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
# NOTE: Keep in sync with bamboo-specs/bamboo.yaml.
|
||||
ARG BASE_IMAGE=adguard/home-js-builder:4.0
|
||||
ARG CLIENT_DIR=client
|
||||
|
||||
# The dependencies stage is needed to install packages and tool dependencies.
|
||||
# This is also where binaries like osslsigncode, which may be required for tests
|
||||
|
|
@ -38,13 +39,15 @@ ARG BASE_IMAGE=adguard/home-js-builder:4.0
|
|||
FROM "$BASE_IMAGE" AS dependencies
|
||||
ADD Makefile /app/
|
||||
ADD scripts /app/scripts
|
||||
ADD client /app/client
|
||||
ARG CLIENT_DIR
|
||||
ADD "${CLIENT_DIR}" "/app/${CLIENT_DIR}"
|
||||
WORKDIR /app
|
||||
RUN \
|
||||
--mount=type=cache,id=npm-root-cache,target=/root/.npm \
|
||||
<<-'EOF'
|
||||
set -e -f -u -x
|
||||
make \
|
||||
CLIENT_DIR="${CLIENT_DIR}" \
|
||||
VERBOSE=1 \
|
||||
js-deps \
|
||||
;
|
||||
|
|
@ -53,14 +56,16 @@ EOF
|
|||
# The linter stage is separated from the tester stage to make catching test
|
||||
# failures easier.
|
||||
FROM dependencies AS linter
|
||||
ARG CACHE_BUSTER=0
|
||||
ADD . /app
|
||||
ARG CACHE_BUSTER=0
|
||||
ARG CLIENT_DIR
|
||||
WORKDIR /app
|
||||
RUN \
|
||||
--mount=type=cache,id=npm-root-cache,target=/root/.npm \
|
||||
<<-'EOF'
|
||||
set -e -f -u -x
|
||||
make \
|
||||
CLIENT_DIR="${CLIENT_DIR}" \
|
||||
VERBOSE=1 \
|
||||
js-typecheck \
|
||||
js-lint \
|
||||
|
|
@ -70,11 +75,13 @@ EOF
|
|||
# The test stage.
|
||||
FROM linter AS tester
|
||||
ARG CACHE_BUSTER=0
|
||||
ARG CLIENT_DIR
|
||||
RUN \
|
||||
--mount=type=cache,id=npm-root-cache,target=/root/.npm \
|
||||
<<-'EOF'
|
||||
set -e -f -u -x
|
||||
make \
|
||||
CLIENT_DIR="${CLIENT_DIR}" \
|
||||
VERBOSE=1 \
|
||||
js-test \
|
||||
;
|
||||
|
|
@ -83,6 +90,7 @@ EOF
|
|||
# The e2e test stage.
|
||||
FROM dependencies AS e2etester
|
||||
ARG CACHE_BUSTER=0
|
||||
ARG CLIENT_DIR
|
||||
ADD . /app
|
||||
WORKDIR /app
|
||||
RUN \
|
||||
|
|
@ -90,6 +98,7 @@ RUN \
|
|||
<<-'EOF'
|
||||
set -e -f -u -x
|
||||
make \
|
||||
CLIENT_DIR="${CLIENT_DIR}" \
|
||||
CI='true' \
|
||||
VERBOSE=1 \
|
||||
js-test-e2e \
|
||||
|
|
@ -99,6 +108,7 @@ EOF
|
|||
# The builder stage.
|
||||
FROM dependencies AS builder
|
||||
ARG CACHE_BUSTER=0
|
||||
ARG CLIENT_DIR
|
||||
ADD . /app
|
||||
WORKDIR /app
|
||||
RUN \
|
||||
|
|
@ -106,6 +116,7 @@ RUN \
|
|||
<<-'EOF'
|
||||
set -e -f -u -x
|
||||
make \
|
||||
CLIENT_DIR="${CLIENT_DIR}" \
|
||||
VERBOSE=1 \
|
||||
js-build \
|
||||
;
|
||||
|
|
@ -115,4 +126,5 @@ EOF
|
|||
# could be published. This stage should only be used in a CI.
|
||||
FROM scratch AS builder-exporter
|
||||
ARG CACHE_BUSTER=0
|
||||
ARG CLIENT_DIR
|
||||
COPY --from=builder /app/build /build
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue