44 lines
No EOL
1.9 KiB
YAML
44 lines
No EOL
1.9 KiB
YAML
name: Generate new proto wrapper files and upload artifacts
|
|
on: [ pull_request ]
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.x'
|
|
- name: Install Protoc
|
|
uses: arduino/setup-protoc@v1
|
|
with:
|
|
version: '3.13.0'
|
|
- name: Install Python dependencies
|
|
run : |
|
|
python -m pip install --upgrade pip
|
|
pip3 install scons protobuf grpcio-tools
|
|
- name: Self Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
path: protobuf-checkout
|
|
submodules: true
|
|
- name: Configure Git
|
|
run: |
|
|
git config --global user.name adafruitio
|
|
git config --global user.email adafruitio@adafruit.com
|
|
- name: Generate Arduino files from .proto Files
|
|
env:
|
|
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION: python
|
|
run: |
|
|
mkdir ./arduino_out
|
|
mkdir ./doc
|
|
echo "Installing protobuf-gen-doc"
|
|
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest
|
|
cp ~/go/bin/protoc-gen-doc .
|
|
echo "Generating docs..."
|
|
protoc --plugin=protobuf-checkout/nanopb/generator/protoc-gen-nanopb -Iprotobuf-checkout/nanopb/generator/proto --proto_path=./protobuf-checkout/proto ./protobuf-checkout/proto/wippersnapper/*/*/*.proto --nanopb_out=./arduino_out --nanopb_opt=-I./protobuf-checkout/proto --nanopb_opt=-t --plugin=protoc-gen-doc=./protoc-gen-doc --doc_out=./doc --doc_opt=html,index.html
|
|
# Local (non-CI) build command:
|
|
# protoc --plugin=nanopb/generator/protoc-gen-nanopb -Inanopb/generator/proto --proto_path=./proto ./proto/wippersnapper/*/*/*.proto --nanopb_out=./arduino_out --nanopb_opt=-I./proto --nanopb_opt=-t --plugin=protoc-gen-doc=./protoc-gen-doc --doc_out=./doc --doc_opt=html,index.html
|
|
cp ./doc/index.html ./arduino_out
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: build-artifact-arduino-wrapper
|
|
path: ./arduino_out |