Run mmclient as mmclient user #35
This file contains 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: CI Client builder | |
on: [workflow_dispatch, push] | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pguyot/arm-runner-action@v2 | |
with: | |
image_additional_mb: 8192 | |
base_image: raspios_lite_arm64:latest | |
bind_mount_repository: true | |
copy_artifact_path: client/cmake/build/mmclient | |
copy_artifact_dest: ${{ github.workspace }} | |
commands: | | |
# update system and install dependencies | |
apt update | |
apt install -y cmake git build-essential autoconf libtool pkg-config libjsoncpp-dev libpqxx-dev | |
# Compile gRPC | |
export MY_INSTALL_DIR=$HOME/.local | |
mkdir -p $MY_INSTALL_DIR | |
export PATH="$MY_INSTALL_DIR/bin:$PATH" | |
git clone --recurse-submodules -b v1.64.2 --depth 1 --shallow-submodules https://github.com/grpc/grpc | |
cd grpc | |
mkdir -p cmake/build | |
cd cmake/build | |
cmake -DgRPC_INSTALL=ON \ | |
-DgRPC_BUILD_TESTS=OFF \ | |
-DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR \ | |
../.. | |
make -j 2 | |
make install | |
# Compile client | |
cd ../../../client | |
chmod +x genCppProto.sh | |
./genCppProto.sh | |
mkdir -p cmake/build | |
cd cmake/build | |
cmake ../.. | |
make -j 2 | |
mv client mmclient | |
- name: Upload binary release file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mmclient | |
path: ${{ github.workspace }}/mmclient |