From 847197ef7f326cdfa72f118dca6ce794f60673a0 Mon Sep 17 00:00:00 2001 From: Walter Schulze Date: Sun, 22 Sep 2024 13:06:06 +0100 Subject: [PATCH] install protoc --- .github/workflows/build.yml | 6 +++++- install_protoc.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100755 install_protoc.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index abb6e51..5a6429c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,8 +14,12 @@ jobs: go-version: 1.19 - name: Fetch dependencies run: go mod download -x + - name: Setup protoc + env: + PROTOBUF_VERSION: ${{ matrix.protobuf_version }} + run: ./install-protoc.sh - name: Install tools - run: go install -x github.com/goccmack/gocc github.com/awalterschulze/goderive github.com/gogo/protobuf + run: go install -x github.com/goccmack/gocc github.com/awalterschulze/goderive github.com/gogo/protobuf/protoc-gen-gogo - name: Generate run: make regenerate - name: Build diff --git a/install_protoc.sh b/install_protoc.sh new file mode 100755 index 0000000..1a1fbe1 --- /dev/null +++ b/install_protoc.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +set -ex + +die() { + echo "$@" >&2 + exit 1 +} + +cd ${HOME} + +case "$PROTOBUF_VERSION" in +2*) + basename=protobuf-$PROTOBUF_VERSION + wget https://github.com/google/protobuf/releases/download/v$PROTOBUF_VERSION/$basename.tar.gz + tar xzf $basename.tar.gz + cd protobuf-$PROTOBUF_VERSION + ./configure --prefix=${HOME} && make -j2 && make install + ;; +3*) + basename=protoc-$PROTOBUF_VERSION-linux-x86_64 + wget https://github.com/google/protobuf/releases/download/v$PROTOBUF_VERSION/$basename.zip + unzip $basename.zip + ;; +*) + die "unknown protobuf version: $PROTOBUF_VERSION" + ;; +esac \ No newline at end of file