diff --git a/.github/workflows/cpp_tagged_release.yaml b/.github/workflows/cpp_tagged_release.yaml new file mode 100644 index 000000000..ff2d4d75d --- /dev/null +++ b/.github/workflows/cpp_tagged_release.yaml @@ -0,0 +1,52 @@ +--- +name: "cpp-tagged-release" + +on: + push: + tags: + - "v*" + +jobs: + tagged-release: + name: "C++ Tagged Release" + runs-on: "ubuntu-latest" + + steps: + - uses: actions/checkout@v4 + - uses: actions/checkout@v4 + with: + repository: 'grpc/grpc' + ref: 'grpc-1.46.3' + # Relative path under $GITHUB_WORKSPACE to place the repository + path: '../grpc' + - name: "Install Dependencies" + run: | + sudo apt-get install -y build-essential autoconf libtool pkg-config cmake git libprotobuf-dev libssl-dev zlib1g-dev libgflags-dev + - name: "Build gRPC" + working-directory: ../grpc + run: | + mkdir _build && cd _build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/grpc -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG -DgRPC_ZLIB_PROVIDER=package .. + make + make install + - name: "CMake Build" + working-directory: ./cpp + run: | + mkdir _build && cd _build + cmake .. + make + make install + - name: "Package" + working-directory: ./cpp + run: | + mkdir -p dist/lib + cp -r include dist/ + cp build/librocketmq.so dist/lib/ + cp build/librocketmq.a dist/lib/ + tar -czvf dist.tar.gz dist + - uses: "marvinpinto/action-automatic-releases@latest" + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + prerelease: false + files: | + cpp/dist.tar.gz \ No newline at end of file