netty5/docker/docker-compose.yaml
wangxiyuan 187bdc2562 Add epoll aarch64 maven config and Dockerfile (#9804)
Motivation:

`transport-native-epoll` doesn't have ARM release package. 

Modification:

This PR added cross compile profile for epoll. Then we can easily build aarch64 package on X86 machine. 

Result:
Fixes #8279
2020-05-14 09:32:11 +02:00

63 lines
1.8 KiB
YAML

version: "3"
services:
runtime-setup:
image: netty:default
build:
context: .
dockerfile: Dockerfile.centos
common: &common
image: netty:default
depends_on: [runtime-setup]
volumes:
- ~/.ssh:/root/.ssh:delegated
- ~/.gnupg:/root/.gnupg:delegated
- ..:/code:delegated
working_dir: /code
test-leak:
<<: *common
command: /bin/bash -cl "./mvnw -Pleak clean install -Dio.netty.testsuite.badHost=netty.io"
test:
<<: *common
command: /bin/bash -cl "./mvnw clean install -Dio.netty.testsuite.badHost=netty.io"
test-boringssl-static:
<<: *common
command: /bin/bash -cl "./mvnw -P boringssl clean install -Dio.netty.testsuite.badHost=netty.io -Dxml.skip=true"
shell:
<<: *common
environment:
- SANOTYPE_USER
- SANOTYPE_PASSWORD
volumes:
- ~/.ssh:/root/.ssh:delegated
- ~/.gnupg:/root/.gnupg:delegated
- ..:/code:delegated
- ~/.m2:/root/.m2:delegated
entrypoint: /bin/bash
cross-compile-aarch64-runtime-setup:
image: netty:cross_compile_aarch64
build:
context: .
dockerfile: Dockerfile.cross_compile_aarch64
args:
gcc_version : "4.9-2016.02"
cross-compile-aarch64:
image: netty:cross_compile_aarch64
depends_on: [cross-compile-aarch64-runtime-setup]
volumes:
- ~/.ssh:/root/.ssh:delegated
- ~/.gnupg:/root/.gnupg:delegated
- ..:/code:delegated
- ~/.m2:/root/.m2:delegated
# Since we are cross compiling netty-transport-native-epoll as aarch64 which cannot be loaded on x86_64, we add `skipTests` here to skip the test.
command: /bin/bash -cl "pushd ./transport-native-unix-common && ../mvnw clean install -Plinux-aarch64 && popd && pushd ./transport-native-epoll && ../mvnw clean install -Plinux-aarch64 -DskipTests && popd"
working_dir: /code