Use Arm64 Runner #6072
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 test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| latest_versions: | |
| runs-on: ubuntu-24.04-arm | |
| # Map a step output to a job output | |
| outputs: | |
| llvm_version: ${{ steps.llvm.outputs.version }} | |
| steps: | |
| - name: prepare | |
| run: | | |
| sudo apt-get update -qq && \ | |
| sudo apt-get install --no-install-recommends -qqy \ | |
| jq | |
| - name: find latest vrersions (llvm) | |
| id: llvm | |
| run: | | |
| LLVM_VERSION="$(curl -sSL https://api.github.com/repos/llvm/llvm-project/releases/latest | jq -r .tag_name | cut -d'-' -f2)" && \ | |
| echo "version=${LLVM_VERSION}" >> $GITHUB_OUTPUT | |
| build-java17: | |
| runs-on: ubuntu-24.04-arm | |
| container: | |
| image: poad/docker-grpc:compose-java17 | |
| options: --privileged | |
| strategy: | |
| matrix: | |
| targets: [ | |
| { | |
| base: 'java-to-java', | |
| cmd: [ | |
| { | |
| dir: 'java-api-server', | |
| build: './gradlew bootBuildImage' | |
| }, | |
| { | |
| dir: 'java-grpc-server', | |
| build: './gradlew bootBuildImage' | |
| } | |
| ] | |
| }, | |
| { | |
| base: 'java-to-rust', | |
| cmd: [ | |
| { | |
| dir: 'java-grpc-example', | |
| build: './gradlew bootBuildImage' | |
| }, | |
| { | |
| dir: '', | |
| build: 'protoc --proto_path=./rust-grpc-server/src/proto message.proto && protoc --proto_path=./rust-grpc-server/src/proto hello.proto && docker-compose build' | |
| } | |
| ] | |
| }, | |
| { | |
| base: 'micronaut-to-springboot', | |
| cmd: [ | |
| { | |
| dir: 'java-micronaut-grpc-server', | |
| build: './gradlew bootBuildImage' | |
| }, | |
| { | |
| dir: '', | |
| build: 'docker-compose build' | |
| } | |
| ] | |
| } | |
| ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build (${{ matrix.targets.base }}/${{ matrix.targets.cmd[0].dir }}) | |
| env: | |
| LLVM_VERSION: ${{needs.latest_versions.outputs.llvm_version}} | |
| working-directory: ${{ matrix.targets.base }}/${{ matrix.targets.cmd[0].dir }} | |
| run: | | |
| ${{ matrix.targets.cmd[0].build }} | |
| - env: | |
| LLVM_VERSION: ${{needs.latest_versions.outputs.llvm_version}} | |
| working-directory: ${{ matrix.targets.dir }} | |
| run: | | |
| ${{ matrix.targets.build[1] }} |