Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/actions/infra-e2e-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,9 @@ runs:
uses: apache/skywalking-infra-e2e@main
with:
e2e-file: $GITHUB_WORKSPACE/test/e2e-v2/cases/${{ inputs.config-file }}
- uses: actions/upload-artifact@v2
if: ${{ failure() }}
name: Upload Logs
with:
name: logs
path: "${{ env.SW_INFRA_E2E_LOG_DIR }}"
3 changes: 1 addition & 2 deletions .github/workflows/e2e.istio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ on:
env:
SKIP_TEST: true
TAG: ${{ github.sha }}
SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk11:alpine-jre

concurrency:
group: e2e-istio-${{ github.event.pull_request.number || github.ref }}
Expand Down Expand Up @@ -80,4 +79,4 @@ jobs:
if: env.SKIP_CI != 'true'
uses: ./.github/actions/infra-e2e-test
with:
config-file: istio/metrics/e2e.yaml
config-file: istio/metrics/e2e.yaml
2 changes: 1 addition & 1 deletion .github/workflows/e2e.jdk-versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
jdk: [ 8, 11, 12, 13, 14, 15, 16 ]
env:
SW_AGENT_JDK_VERSION: ${{ matrix.jdk }}
SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk${{ matrix.jdk }}:alpine-jre
SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk${{ matrix.jdk }}:jre
steps:
- uses: actions/checkout@v2
with:
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/publish-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,5 @@ jobs:
registry: ${{ env.HUB }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build docker image
run: |
make docker || make docker
make docker.push || make docker.push
- name: Build and push docker images
run: make build.all docker.push
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Release Notes.

* E2E tests immigrate to e2e-v2.
* Support JDK 16 and 17.
* Add Docker images for arm64 architecture.

#### OAP Server

Expand Down
71 changes: 27 additions & 44 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,64 +43,47 @@ OAP_NAME ?= oap
UI_NAME ?= ui
TAG ?= latest

.SECONDEXPANSION: #allow $@ to be used in dependency list

.PHONY: docker docker.all docker.oap
.PHONY: docker docker.all

docker: init build.all docker.all

DOCKER_TARGETS:=docker.oap docker.ui

docker.all: $(DOCKER_TARGETS)

ifneq ($(SW_OAP_BASE_IMAGE),)
BUILD_ARGS := $(BUILD_ARGS) --build-arg BASE_IMAGE=$(SW_OAP_BASE_IMAGE)
endif

BUILD_ARGS := $(BUILD_ARGS) --build-arg DIST=$(DIST) --build-arg SKYWALKING_CLI_VERSION=$(CLI_VERSION)

docker.oap: $(CONTEXT)/$(DIST)
docker.oap: $(SW_ROOT)/docker/oap/Dockerfile.oap
docker.oap: $(SW_ROOT)/docker/oap/docker-entrypoint.sh
docker.oap: $(SW_ROOT)/docker/oap/log4j2.xml
docker.oap: NAME = $(OAP_NAME)
docker.oap:
$(DOCKER_RULE)
%.ui: NAME = $(UI_NAME)
%.oap: NAME = $(OAP_NAME)

docker.ui: $(CONTEXT)/$(DIST)
docker.ui: $(SW_ROOT)/docker/ui/Dockerfile.ui
docker.ui: $(SW_ROOT)/docker/ui/docker-entrypoint.sh
docker.ui: $(SW_ROOT)/docker/ui/logback.xml
docker.ui: NAME = $(UI_NAME)
docker.ui:
docker.%: PLATFORMS =
docker.%: LOAD_OR_PUSH = --load
Comment thread
kezhenxu94 marked this conversation as resolved.
push.%: PLATFORMS = --platform linux/amd64,linux/arm64
push.%: LOAD_OR_PUSH = --push

docker.% push.docker.%: $(CONTEXT)/$(DIST) $(SW_ROOT)/docker/%/*
$(DOCKER_RULE)

# $@ is the name of the target
docker.all: $(DOCKER_TARGETS)
docker.push: $(DOCKER_TARGETS:%=push.%)

# $^ the name of the dependencies for the target
# Rule Steps #
##############
# 1. Make a directory $(DOCKER_BUILD_TOP)/%@
# 2. This rule uses cp to copy all dependency filenames into into $(DOCKER_BUILD_TOP/$@
# 3. This rule then changes directories to $(DOCKER_BUID_TOP)/$@
# 4. This rule runs $(BUILD_PRE) prior to any docker build and only if specified as a dependency variable
# 5. This rule finally runs docker build passing $(BUILD_ARGS) to docker if they are specified as a dependency variable

DOCKER_RULE=time (mkdir -p $(DOCKER_BUILD_TOP)/$@ && cp -r $^ $(DOCKER_BUILD_TOP)/$@ && cd $(DOCKER_BUILD_TOP)/$@ && $(BUILD_PRE) docker build --no-cache $(BUILD_ARGS) -t $(HUB)/$(NAME):$(TAG) -f Dockerfile$(suffix $@) .)

# for each docker.XXX target create a push.docker.XXX target that pushes
# the local docker image to another hub
# a possible optimization is to use tag.$(TGT) as a dependency to do the tag for us
push.docker.oap: NAME = $(OAP_NAME)
push.docker.ui: NAME = $(UI_NAME)

$(foreach TGT,$(DOCKER_TARGETS),push.$(TGT)): push.%: %
time (docker push $(HUB)/$(NAME):$(TAG))

# create a DOCKER_PUSH_TARGETS that's each of DOCKER_TARGETS with a push. prefix
DOCKER_PUSH_TARGETS:=
$(foreach TGT,$(DOCKER_TARGETS),$(eval DOCKER_PUSH_TARGETS+=push.$(TGT)))

# Will build and push docker images.
docker.push: $(DOCKER_PUSH_TARGETS)


# 1. Make a directory $(DOCKER_BUILD_TOP)/$(NAME)
# 2. This rule uses cp to copy all dependency filenames into into $(DOCKER_BUILD_TOP/$(NAME)
# 3. This rule finally runs docker build passing $(BUILD_ARGS) to docker if they are specified as a dependency variable

define DOCKER_RULE
mkdir -p $(DOCKER_BUILD_TOP)/$(NAME)
cp -r $^ $(DOCKER_BUILD_TOP)/$(NAME)
Comment thread
kezhenxu94 marked this conversation as resolved.
docker buildx create --use --driver docker-container --name skywalking_main > /dev/null 2>&1 || true
docker buildx build $(PLATFORMS) $(LOAD_OR_PUSH) \
--no-cache $(BUILD_ARGS) \
-t $(HUB)/$(NAME):$(TAG) \
-t $(HUB)/$(NAME):latest \
$(DOCKER_BUILD_TOP)/$(NAME)
docker buildx rm skywalking_main || true
endef
6 changes: 2 additions & 4 deletions docker/oap/Dockerfile.oap → docker/oap/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.

ARG BASE_IMAGE='adoptopenjdk/openjdk11:alpine'
ARG BASE_IMAGE='adoptopenjdk/openjdk11:jre'

ARG SKYWALKING_CLI_VERSION

FROM apache/skywalking-cli:$SKYWALKING_CLI_VERSION as cli

FROM $BASE_IMAGE

RUN apk add --no-cache openssl

WORKDIR /skywalking

ENV JAVA_OPTS=" -Xms2G "
Expand Down Expand Up @@ -51,4 +49,4 @@ RUN mkdir ext-config; \

EXPOSE 12800 11800 1234

ENTRYPOINT ["sh", "docker-entrypoint.sh"]
ENTRYPOINT ["bash", "docker-entrypoint.sh"]
6 changes: 1 addition & 5 deletions docker/ui/Dockerfile.ui → docker/ui/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM adoptopenjdk/openjdk11:alpine-jre
FROM adoptopenjdk/openjdk11:jre

ENV JAVA_OPTS=" -Xms256M " \
SW_OAP_ADDRESS="http://127.0.0.1:12800"

WORKDIR skywalking

RUN set -ex; \
apk add --no-cache \
bash

ARG DIST
COPY "$DIST" .

Expand Down
2 changes: 1 addition & 1 deletion docs/en/guides/How-to-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ export OAP_NAME=skywalking-oap-server
export UI_NAME=skywalking-ui
export TAG=$SW_VERSION
export DIST=<the binary package name inside (1), e.g. apache-skywalking-apm-8.8.0.tar.gz>
make docker.all && make docker.push
make docker.push
```

## Clean up the old releases
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/alarm/es/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/alarm/h2/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/alarm/influxdb/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/alarm/mysql/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ services:
environment:
SW_STORAGE: mysql
SW_SEARCHABLE_ALARM_TAG_KEYS: level,receivers
entrypoint: ['sh', '-c', 'apk add --no-cache bash && /download-mysql.sh && /skywalking/docker-entrypoint.sh']
entrypoint: ['sh', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
ports:
- 12800
depends_on:
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/alarm/mysql/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/alarm/postgres/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
4 changes: 2 additions & 2 deletions test/e2e-v2/cases/browser/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../script/env
steps:
- name: install yq
Expand Down Expand Up @@ -111,4 +111,4 @@ verify:
- expected: expected/trace-detail.yml
query: |
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace $( \
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls | grep -A 5 'index.html' | tail -n1 | awk -F ' ' '{print $2}')
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls | grep -A 5 'index.html' | tail -n1 | awk -F ' ' '{print $2}')
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/cluster/zk/es/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/cluster/zk/influxdb/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../../script/env
steps:
- name: install yq
Expand Down
4 changes: 2 additions & 2 deletions test/e2e-v2/cases/cluster/zk/mysql/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ services:
environment:
SW_CLUSTER: zookeeper
SW_STORAGE: mysql
entrypoint: ['sh', '-c', 'apk add --no-cache bash && /download-mysql.sh && /skywalking/docker-entrypoint.sh']
entrypoint: ['sh', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
depends_on:
zk:
condition: service_healthy
Expand All @@ -65,7 +65,7 @@ services:
environment:
SW_CLUSTER: zookeeper
SW_STORAGE: mysql
entrypoint: ['sh', '-c', 'apk add --no-cache bash && /download-mysql.sh && /skywalking/docker-entrypoint.sh']
entrypoint: ['sh', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
depends_on:
zk:
condition: service_healthy
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/cluster/zk/mysql/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/event/es/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/event/h2/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/event/influxdb/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/event/mysql/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ services:
depends_on:
mysql:
condition: service_healthy
entrypoint: ['sh', '-c', 'apk add --no-cache bash && /download-mysql.sh && /skywalking/docker-entrypoint.sh']
entrypoint: ['sh', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
ports:
- 11800
- 12800
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/event/mysql/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/gateway/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/go/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/kafka/log/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
2 changes: 1 addition & 1 deletion test/e2e-v2/cases/kafka/meter/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
setup:
env: compose
file: docker-compose.yml
timeout: 1200
timeout: 20m
init-system-environment: ../../../script/env
steps:
- name: install yq
Expand Down
Loading