blob: a19ab3898918139cb5bf14cdd461e17b53443af4 [file] [log] [blame]
name: Build binary packages
on:
workflow_dispatch:
workflow_call:
jobs:
build_linux:
name: Build binary on Ubuntu 20.04
runs-on: ubuntu-20.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
with:
path: nanopb
fetch-depth: "0"
- name: Install dependencies
run: |
python3 -m pip install --user --upgrade scons protobuf grpcio-tools pyinstaller
python3 -c 'import google.protobuf; print(google.protobuf.__file__)'
- name: Build binary package
run: |
cd nanopb
git clean -dxf
tools/make_linux_package.sh
- name: Fingerprint binary
run: |
openssl sha256 nanopb/dist/*.tar.gz
- name: Upload binary
uses: actions/upload-artifact@v2
with:
path: nanopb/dist/*.tar.gz
name: nanopb-binary-linux
- name: Test binary package
run: |
tar xzf nanopb/dist/*.tar.gz
cd nanopb-*/tests
python3 -m SCons
- name: Test examples
run: |
cd nanopb-*/examples
(cd simple; make; ./simple)
(cd network_server; make)
(cd using_union_messages; make)
(cd cmake_simple; mkdir build; cd build; cmake ..; make)
(cd cmake_relpath; mkdir build; cd build; cmake ..; make)
build_windows:
name: Build binary on Windows 2019
runs-on: windows-2019
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
with:
path: nanopb
fetch-depth: "0"
- name: Install dependencies
shell: bash
run: |
python3 -m pip install --user --upgrade scons protobuf grpcio-tools pyinstaller
python3 -c 'import google.protobuf; print(google.protobuf.__file__)'
- name: Build binary package
shell: bash
run: |
cd nanopb
git clean -dxf
tools/make_windows_package.sh
- name: Fingerprint binary
run: |
openssl sha256 nanopb/dist/*.zip
- name: Upload binary
uses: actions/upload-artifact@v2
with:
path: nanopb/dist/*.zip
name: nanopb-binary-windows
- name: Test binary package
shell: bash
run: |
powershell "Expand-Archive nanopb/dist/*.zip"
ls
cd nanopb-*/nanopb-*/tests
python3 -m SCons
build_macos:
name: Build binary on Mac OS X Big Sur 11
runs-on: macos-11
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
with:
path: nanopb
fetch-depth: "0"
- name: Install dependencies
run: |
python3 -m pip install --user --upgrade scons protobuf grpcio-tools pyinstaller
python3 -c 'import google.protobuf; print(google.protobuf.__file__)'
- name: Build binary package
run: |
cd nanopb
git clean -dxf
tools/make_mac_package.sh
- name: Fingerprint binary
run: |
openssl sha256 nanopb/dist/*.tar.gz
- name: Upload binary
uses: actions/upload-artifact@v2
with:
path: nanopb/dist/*.tar.gz
name: nanopb-binary-macos
- name: Test binary package
run: |
tar xzf nanopb/dist/*.tar.gz
cd nanopb-*/tests
python3 -m SCons
cd ../examples/simple
make
./simple