|
1 |
| -name: C/C++ CI |
| 1 | +name: Build and test C++ bennu and deb for pybennu |
2 | 2 |
|
3 | 3 | on:
|
4 | 4 | pull_request:
|
5 |
| - branches: [ "main" ] |
| 5 | + branches: |
| 6 | + - main |
| 7 | + push: |
| 8 | + branches: |
| 9 | + - main |
6 | 10 |
|
7 | 11 | jobs:
|
8 | 12 | build:
|
9 |
| - |
10 | 13 | runs-on: ubuntu-20.04
|
11 |
| - |
12 | 14 | steps:
|
13 | 15 | - name: checkout the repo
|
14 |
| - uses: actions/checkout@v3 |
15 |
| - - name: get tags |
16 |
| - run: git fetch --tags |
| 16 | + uses: actions/checkout@v4 |
| 17 | + - name: Install build dependencies |
| 18 | + run: | |
| 19 | + sudo apt-get update |
| 20 | + sudo apt-get install --no-install-recommends -y build-essential cmake g++ gcc libasio-dev libboost-date-time-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libfreetype6-dev libssl-dev libzmq5-dev python3-pip python3-wheel |
| 21 | + sudo gem install fpm |
17 | 22 | - name: configure bennu
|
18 | 23 | run: |
|
19 |
| - sudo apt-get update && sudo apt-get install --no-install-recommends -y build-essential cmake g++ gcc libasio-dev libboost-date-time-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libfreetype6-dev libssl-dev libzmq5-dev |
20 | 24 | mkdir build
|
21 | 25 | cd build/
|
22 | 26 | cmake ../
|
@@ -53,29 +57,40 @@ jobs:
|
53 | 57 | grep "load-power:999" probe.out
|
54 | 58 | echo -e "help\nexit" | bennu-brash >brash.out 2>&1
|
55 | 59 | grep "SCEPTRE Field-Device" brash.out
|
56 |
| - - name: package bennu |
| 60 | + bennu-watcherd --help |
| 61 | + bennu-simulink-provider --help |
| 62 | + bennu-field-deviced --help |
| 63 | + bennu-simulink-provider-helics --help |
| 64 | + - name: build deb for bennu |
57 | 65 | run: |
|
58 | 66 | cd build/
|
59 | 67 | sudo make package
|
60 |
| - - name: package pybennu |
| 68 | + cp ./*.deb ../bennu.deb |
| 69 | + - name: build deb for pybennu |
61 | 70 | run: |
|
62 |
| - sudo apt-get install --no-install-recommends -y python3-pip python3-wheel |
63 |
| - sudo gem install fpm |
64 | 71 | cd src/pybennu
|
65 |
| - make deb > deb.log 2>&1 |
66 |
| - #make dist > dist.log 2>&1 |
67 |
| - - name: archive artifacts |
68 |
| - uses: actions/upload-artifact@v3 |
| 72 | + sudo make deb |
| 73 | + cp ./dist/*.deb ../../pybennu.deb |
| 74 | + - name: archive deb artifacts |
| 75 | + uses: actions/upload-artifact@v4 |
69 | 76 | with:
|
70 |
| - name: bennu artifacts |
| 77 | + name: bennu-deb-artifacts |
| 78 | + if-no-files-found: error |
71 | 79 | path: |
|
72 |
| - *.log |
73 |
| - build/*.deb |
74 |
| - src/pybennu/dist/* |
75 |
| - - name: release bennu and pybennu |
| 80 | + bennu.deb |
| 81 | + pybennu.deb |
| 82 | + - name: deb file metadata |
76 | 83 | run: |
|
77 |
| - cp build/*.deb build/bennu.deb |
78 |
| - cp src/pybennu/dist/*.deb src/pybennu/dist/pybennu.deb |
79 |
| - curl -F package=@build/bennu.deb https://${{ secrets.GEMFURY }}@push.fury.io/sceptre/ |
80 |
| - curl -F package=@src/pybennu/dist/pybennu.deb https://${{ secrets.GEMFURY }}@push.fury.io/sceptre/ |
81 |
| -
|
| 84 | + dpkg-deb --info ./bennu.deb |
| 85 | + dpkg-deb --info ./pybennu.deb |
| 86 | + - name: check bennu deb installs |
| 87 | + run: | |
| 88 | + sudo dpkg -i bennu.deb |
| 89 | + - name: check pybennu deb installs |
| 90 | + run: | |
| 91 | + sudo dpkg -i pybennu.deb |
| 92 | + - name: release debs to apt repo |
| 93 | + if: (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true) || (github.event_name == 'push' && github.ref == 'refs/heads/main') |
| 94 | + run: | |
| 95 | + curl -F [email protected] https://${{ secrets.GEMFURY }}@push.fury.io/sceptre/ |
| 96 | + curl -F [email protected] https://${{ secrets.GEMFURY }}@push.fury.io/sceptre/ |
0 commit comments