Build against openssl 3.6 for dynamic linking #517
This file contains hidden or 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 PR | |
| on: | |
| pull_request: | |
| branches: [ main ] | |
| # 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 | |
| # Cancel running jobs when a new push happens to the same branch as otherwise it will | |
| # tie up too many resources without providing much value. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-pr: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| 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" | |
| - setup: al2023-x86_64-aws_lc | |
| docker-compose-build: "-f docker/docker-compose.al2023.yaml build" | |
| docker-compose-run: "-f docker/docker-compose.al2023.yaml run 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-pr-${{ matrix.setup }}-m2-repository-cache-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| build-pr-${{ 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-pr-${{ matrix.setup }}-jars | |
| path: | | |
| **/target/*.jar | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ failure() }} | |
| with: | |
| name: build-pr-${{ matrix.setup }}-target | |
| path: | | |
| **/target/surefire-reports/ | |
| **/hs_err*.log | |
| build-pr-windows: | |
| runs-on: windows-2022 | |
| 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-pr-windows-m2-repository-cache-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| build-pr-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-pr-windows-jars | |
| path: | | |
| **/target/*.jar | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ failure() }} | |
| with: | |
| name: build-pr-windows-target | |
| path: | | |
| **/target/surefire-reports/ | |
| **/hs_err*.log | |
| build-pr-macos: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - setup: macos-x86_64 | |
| os: macos-15-intel | |
| - setup: macos-aarch64 | |
| os: macos-15 | |
| runs-on: ${{ matrix.os }} | |
| name: ${{ matrix.setup }} build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 8 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| # Cache .m2/repository | |
| # Caching of maven dependencies | |
| - uses: actions/cache@v4 | |
| continue-on-error: true | |
| with: | |
| path: ~/.m2/repository | |
| key: pr-${{ matrix.setup }}-maven-cache-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| pr-${{ matrix.setup }}-maven-cache- | |
| - name: Install tools via brew | |
| run: brew bundle | |
| - name: Build project | |
| run: ./mvnw -B -ntp --file pom.xml -am -pl openssl-dynamic,boringssl-static clean package | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ always() }} | |
| with: | |
| name: build-pr-${{ matrix.setup }}-jars | |
| path: | | |
| **/target/*.jar | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ failure() }} | |
| with: | |
| name: build-pr-${{ matrix.setup }}-target | |
| path: | | |
| **/target/surefire-reports/ | |
| **/hs_err*.log |