Build project #543
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@v4 | |
# Cache .m2/repository | |
- uses: actions/cache@v4 | |
continue-on-error: true | |
with: | |
path: ~/.m2/repository | |
key: build-${{ matrix.setup }}-m2-repository-cache-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
build-${{ matrix.setup }}-m2-repository-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@v4 | |
if: ${{ always() }} | |
with: | |
name: build-${{ matrix.setup }}-jars | |
path: | | |
**/target/*.jar | |
- uses: actions/upload-artifact@v4 | |
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@v4 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 8 | |
distribution: zulu | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Configuring Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86_amd64 | |
- name: Install tools | |
uses: crazy-max/ghaction-chocolatey@v3 | |
with: | |
args: install ninja nasm | |
# Cache .m2/repository | |
- uses: actions/cache@v4 | |
continue-on-error: true | |
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@v4 | |
if: ${{ always() }} | |
with: | |
name: build-windows-jars | |
path: | | |
**/target/*.jar | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: build-windows-target | |
path: | | |
**/target/surefire-reports/ | |
**/hs_err*.log |