diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2022-02-16 16:57:50 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2022-02-27 18:13:25 +0300 |
commit | 45770f308b6c78ec89b640136e928932d86fe178 (patch) | |
tree | 0d5b599bbc760339b363327e9059d661cbffa842 /.github | |
parent | 12771610d792cc37b51b7599f65d076d1b1d0d31 (diff) |
Add github workflow for binary packages
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/binary_packages.yml | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/.github/workflows/binary_packages.yml b/.github/workflows/binary_packages.yml new file mode 100644 index 0000000..4781f12 --- /dev/null +++ b/.github/workflows/binary_packages.yml @@ -0,0 +1,120 @@ +name: Build binary packages + +on: + workflow_dispatch: + push: + +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: 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 + cd ../examples/simple + make + ./simple + + 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: 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: 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 + + |