parent
2069d3e796
commit
9104075c10
8 changed files with 220 additions and 5 deletions
@ -0,0 +1,38 @@ |
||||
name: 'Cross-compile protoc' |
||||
description: 'Produces a cross-compiled protoc binary for a target architecture' |
||||
inputs: |
||||
credentials: |
||||
required: true |
||||
description: The GCP credentials to use for reading the docker image |
||||
type: string |
||||
architecture: |
||||
required: true |
||||
description: The target architecture to build for |
||||
type: string |
||||
outputs: |
||||
protoc: |
||||
description: "Cross-compiled protoc location. Also output to $PROTOC" |
||||
value: ${{ steps.output.outputs.protoc }} |
||||
|
||||
runs: |
||||
using: 'composite' |
||||
steps: |
||||
- name: Cross compile protoc for ${{ inputs.architecture }} |
||||
uses: ./.github/actions/bazel-docker |
||||
with: |
||||
credentials: ${{ inputs.credentials }} |
||||
bazel-cache: xcompile-protoc/${{ inputs.architecture }} |
||||
bash: | |
||||
bazel build //:protoc --config=${{ inputs.architecture }} $BAZEL_FLAGS |
||||
cp bazel-bin/protoc . |
||||
|
||||
- name: Set protoc environment variable |
||||
shell: bash |
||||
run: echo "PROTOC=protoc-${{ inputs.architecture }}" >> $GITHUB_ENV |
||||
|
||||
- name: Extract binary |
||||
id: output |
||||
shell: bash |
||||
run: | |
||||
mv protoc $PROTOC |
||||
echo "protoc=$PROTOC" >> $GITHUB_OUTPUT |
Loading…
Reference in new issue