Build project #366
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build project | |
on: | |
push: | |
branches: [ main ] | |
schedule: | |
- cron: '30 3 * * 1' # At 03:30 on Monday, every Monday. | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
permissions: | |
contents: read | |
env: | |
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryhandler.count=5 -Dmaven.wagon.httpconnectionManager.ttlSeconds=240 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- setup: centos6-x86_64 | |
docker-compose-build: "-f docker/docker-compose.centos-6.yaml -f docker/docker-compose.centos-6.18.yaml build" | |
docker-compose-run: "-f docker/docker-compose.centos-6.yaml -f docker/docker-compose.centos-6.18.yaml run build" | |
- setup: debian7-x86_64 | |
docker-compose-build: "-f docker/docker-compose.debian.yaml -f docker/docker-compose.debian-7.18.yaml build" | |
docker-compose-run: "-f docker/docker-compose.debian.yaml -f docker/docker-compose.debian-7.18.yaml run build-dynamic-only" | |
- setup: centos7-aarch64 | |
docker-compose-build: "-f docker/docker-compose.centos-7.yaml build" | |
docker-compose-run: "-f docker/docker-compose.centos-7.yaml run cross-compile-aarch64-build" | |
name: ${{ matrix.setup }} | |
steps: | |
- uses: actions/checkout@v3 | |
# Cache .m2/repository | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: build-${{ matrix.setup }}-m2-repository-cache-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
build-${{ matrix.setup }}-m2-repository-cache- | |
# Enable caching of Docker layers | |
- uses: satackey/[email protected] | |
continue-on-error: true | |
with: | |
key: build-${{ matrix.setup }}-docker-cache-{hash} | |
restore-keys: | | |
build-${{ matrix.setup }}-docker-cache- | |
- name: Build docker image | |
run: docker-compose ${{ matrix.docker-compose-build }} | |
- name: Build project | |
run: docker-compose ${{ matrix.docker-compose-run }} | tee build.output | |
- name: Checking for test failures | |
run: ./.github/scripts/check_build_result.sh build.output | |
- uses: actions/upload-artifact@v3 | |
if: ${{ failure() }} | |
with: | |
name: build-${{ matrix.setup }}-target | |
path: | | |
**/target/surefire-reports/ | |
**/hs_err*.log | |
build-windows: | |
runs-on: windows-2019 | |
name: windows-x86_64 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: zulu | |
- name: Add msbuild to PATH | |
uses: microsoft/[email protected] | |
- name: Configuring Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86_amd64 | |
- name: Install tools | |
uses: crazy-max/ghaction-chocolatey@v1 | |
with: | |
args: install ninja nasm | |
# Cache .m2/repository | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: build-windows-m2-repository-cache-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
build-windows-m2-repository-cache- | |
- name: Build netty-tcnative-boringssl-static | |
run: ./mvnw.cmd --file pom.xml -am -pl boringssl-static clean package | |
- uses: actions/upload-artifact@v3 | |
if: ${{ failure() }} | |
with: | |
name: build-windows-target | |
path: | | |
**/target/surefire-reports/ | |
**/hs_err*.log |