Smoke tests #57
Workflow file for this run
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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build-x86_64: | |
| name: Build native (RHEL 10 x86_64) | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Build in RHEL 10 x86_64 container | |
| run: | | |
| VERSION=$(mvn help:evaluate -Dexpression=netty.tcnative.version -q -DforceStdout) | |
| docker build \ | |
| --build-arg NETTY_TCNATIVE_TAG="netty-tcnative-parent-${VERSION}" \ | |
| -f docker/Dockerfile.linux-x86_64 \ | |
| -t smallrye-openssl-x86_64 \ | |
| . | |
| - name: Extract native JAR | |
| run: | | |
| mkdir -p target/native-jars | |
| docker run --rm -v $(pwd)/target/native-jars:/host smallrye-openssl-x86_64 cp -r /output/. /host/ | |
| sudo chown -R $(id -u):$(id -g) target/ | |
| - name: Upload native JAR | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: native-linux-x86_64 | |
| path: target/native-jars/netty-tcnative-linux-x86_64*.jar | |
| build-aarch64: | |
| name: Build native (RHEL 10 aarch64) | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Build in RHEL 10 aarch64 container | |
| run: | | |
| VERSION=$(mvn help:evaluate -Dexpression=netty.tcnative.version -q -DforceStdout) | |
| docker build \ | |
| --build-arg NETTY_TCNATIVE_TAG="netty-tcnative-parent-${VERSION}" \ | |
| -f docker/Dockerfile.linux-aarch_64 \ | |
| -t smallrye-openssl-aarch_64 \ | |
| . | |
| - name: Extract native JAR | |
| run: | | |
| mkdir -p target/native-jars | |
| docker run --rm -v $(pwd)/target/native-jars:/host smallrye-openssl-aarch_64 cp -r /output/. /host/ | |
| sudo chown -R $(id -u):$(id -g) target/ | |
| - name: Upload native JAR | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: native-linux-aarch_64 | |
| path: target/native-jars/netty-tcnative-linux-aarch_64*.jar | |
| smoke-test-x86_64: | |
| name: Smoke Test (x86_64) | |
| needs: [build-x86_64] | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:26.04 | |
| steps: | |
| - name: Install dependencies | |
| run: apt-get update && apt-get install -y git curl unzip openssl libssl-dev libapr1t64 p7zip-full maven | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 | |
| with: | |
| distribution: temurin | |
| java-version: 21 | |
| - name: Verify OpenSSL version | |
| run: openssl version | |
| - name: Download x86_64 native JAR | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: native-linux-x86_64 | |
| path: native-jars | |
| - name: Run smoke tests | |
| run: mvn test -f smoke-test/pom.xml -Dnative.jar=$(ls native-jars/netty-tcnative-linux-x86_64*.jar) | |
| smoke-test-aarch64: | |
| name: Smoke Test (aarch64) | |
| needs: [build-aarch64] | |
| runs-on: ubuntu-24.04-arm | |
| container: | |
| image: ubuntu:26.04 | |
| steps: | |
| - name: Install dependencies | |
| run: apt-get update && apt-get install -y git curl unzip openssl libssl-dev libapr1t64 p7zip-full maven | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 | |
| with: | |
| distribution: temurin | |
| java-version: 21 | |
| - name: Verify OpenSSL version | |
| run: openssl version | |
| - name: Download aarch64 native JAR | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: native-linux-aarch_64 | |
| path: native-jars | |
| - name: Run smoke tests | |
| run: mvn test -f smoke-test/pom.xml -Dnative.jar=$(ls native-jars/netty-tcnative-linux-aarch_64*.jar) | |
| assemble: | |
| name: Assemble | |
| needs: [build-x86_64, build-aarch64, smoke-test-x86_64, smoke-test-aarch64] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| - name: Download x86_64 native JAR | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: native-linux-x86_64 | |
| path: target/native-jars | |
| - name: Download aarch64 native JAR | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: native-linux-aarch_64 | |
| path: target/native-jars | |
| - name: List collected JARs | |
| run: ls -la target/native-jars/ | |
| - name: Prepare folder | |
| run: mkdir ${{ github.workspace }}/target/native-jars/maven-archiver | |
| - name: Package assembly | |
| run: mvn package -Dnative.jars.dir=${{ github.workspace }}/target/native-jars | |
| - name: Verify artifacts | |
| run: ls -la target/*.jar |