-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (45 loc) · 1.29 KB
/
zig-protobuf.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
name: Build protoc-zig
on:
push:
branches: [ "*" ]
pull_request:
branches: [ "main" ]
env:
PROTOBUF_VER: 3.21.12
jobs:
Build-Test-Protoc-Zig:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: goto-bus-stop/setup-zig@v2
with:
version: 0.12.0-dev.146+020105d0d
# https://github.com/protocolbuffers/protobuf/blob/main/cmake/README.md
- name: Install Protobuf
run: |
URL="https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-${PROTOBUF_VER}.tar.gz"
echo "downloading from: ${URL}"
wget -qO- $URL | tar xvz
cd protobuf-$PROTOBUF_VER
CXX="zig c++" CC="zig cc" cmake .
cmake --build . --parallel 10
sudo cmake --install .
- name: Configure CMake
run: |
pushd ${{github.workspace}}/protoc-zig
mkdir build
pushd build
CXX="zig c++" CC="zig cc" cmake ..
- name: Build
run: |
pushd ${{github.workspace}}/tools
python3 prepare_env.py
pushd ${{github.workspace}}/protoc-zig/build
make
- name: Test
run: |
pushd ${{github.workspace}}/tools
python3 generate_zig_protobuf.py
python3 generate_encoded.py
cd ..
zig test src/main.zig