forked from PiSCSI/piscsi
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added workflow configurations and README updates (PiSCSI#832)
* automated test try 1 * filter branches * filter branches * filter branches * filter branches * filter branches * Configured build and test CI workflows * enable for all branches * Update README.md * Update README.md Co-authored-by: Tony Kuker <[email protected]>
- Loading branch information
Showing
5 changed files
with
150 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: Build C++ Packages | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Add armhf as architecture | ||
run: sudo dpkg --add-architecture armhf | ||
|
||
- name: Reconfigure apt for arch amd64 | ||
run: sudo sed -i "s/deb /deb [arch=amd64] /g" /etc/apt/sources.list | ||
|
||
- name: Add armhf repos (jammy) | ||
run: sudo bash -c "echo \"deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ jammy main multiverse restricted universe\" >> /etc/apt/sources.list" | ||
|
||
- name: Add armhf repos (jammy-updates) | ||
run: sudo bash -c "echo \"deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main multiverse restricted universe\" >> /etc/apt/sources.list" | ||
|
||
- name: Update apt | ||
run: sudo apt update | ||
|
||
- name: Install cross compile toolchain | ||
run: sudo apt-get --yes install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf libspdlog-dev | ||
|
||
- name: Install libraries | ||
run: sudo apt-get --yes install libspdlog-dev:armhf libpcap-dev:armhf libevdev2:armhf libev-dev:armhf protobuf-compiler libprotobuf-dev:armhf | ||
|
||
- name: make standard | ||
run: make all -j6 CONNECT_TYPE=STANDARD CROSS_COMPILE=arm-linux-gnueabihf- | ||
working-directory: ./src/raspberrypi | ||
|
||
- name: make fullspec | ||
run: make all -j6 CONNECT_TYPE=FULLSPEC CROSS_COMPILE=arm-linux-gnueabihf- | ||
working-directory: ./src/raspberrypi | ||
|
||
# We need to tar the binary outputs to retain the executable | ||
# file permission. Currently, actions/upload-artifact only | ||
# supports .ZIP files. | ||
# This is workaround for https://github.com/actions/upload-artifact/issues/38 | ||
- name: tar binary outputs | ||
run: tar -czvf rascsi.tar.gz ./bin | ||
working-directory: ./src/raspberrypi | ||
|
||
- name: upload artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: arm-binaries | ||
path: ./src/raspberrypi/rascsi.tar.gz | ||
|
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
name: Run automated unit tests | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
functional_test: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Install libraries | ||
run: sudo apt-get install libspdlog-dev libpcap-dev libevdev2 libev-dev protobuf-compiler libgtest-dev libgmock-dev | ||
|
||
- name: Run tests | ||
run: make -C src/raspberrypi -j6 test | ||
|
||
- name: Save Log | ||
run: src/raspberrypi/bin/fullspec/rascsi_test | tee test_log.txt | ||
|
||
- name: upload artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: test log | ||
path: test_log.txt | ||
|
||
code_coverage_test: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Install libraries | ||
run: sudo apt-get install libspdlog-dev libpcap-dev libevdev2 libev-dev protobuf-compiler libgtest-dev libgmock-dev lcov | ||
|
||
- name: Gerenate coverage | ||
run: make -C src/raspberrypi -j6 coverage | ||
|
||
- name: tar coverage data | ||
run: tar -czvf coverage.tar.gz ./coverage | ||
working-directory: ./src/raspberrypi | ||
|
||
- name: upload artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Coverage data | ||
path: ./src/raspberrypi/coverage.tar.gz | ||
|
||
|
||
SonarCloud_Analysis: | ||
runs-on: ubuntu-22.04 | ||
env: | ||
SONAR_SCANNER_VERSION: 4.7.0.2747 | ||
SONAR_SERVER_URL: "https://sonarcloud.io" | ||
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | ||
- name: Install cross compile toolchain | ||
run: sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf libspdlog-dev libpcap-dev protobuf-compiler | ||
|
||
- name: Install dependencies | ||
run: sudo apt-get install libspdlog-dev libpcap-dev protobuf-compiler libprotobuf-dev libprotobuf-c-dev libev-dev libevdev2 libgmock-dev | ||
|
||
- name: Set up JDK 11 | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11 | ||
- name: Download and set up sonar-scanner | ||
env: | ||
SONAR_SCANNER_DOWNLOAD_URL: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${{ env.SONAR_SCANNER_VERSION }}-linux.zip | ||
run: | | ||
mkdir -p $HOME/.sonar | ||
curl -sSLo $HOME/.sonar/sonar-scanner.zip ${{ env.SONAR_SCANNER_DOWNLOAD_URL }} | ||
unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/ | ||
echo "$HOME/.sonar/sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}-linux/bin" >> $GITHUB_PATH | ||
- name: Download and set up build-wrapper | ||
env: | ||
BUILD_WRAPPER_DOWNLOAD_URL: ${{ env.SONAR_SERVER_URL }}/static/cpp/build-wrapper-linux-x86.zip | ||
run: | | ||
curl -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip ${{ env.BUILD_WRAPPER_DOWNLOAD_URL }} | ||
unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/ | ||
echo "$HOME/.sonar/build-wrapper-linux-x86" >> $GITHUB_PATH | ||
- name: Run build-wrapper | ||
run: | | ||
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make -C src/raspberrypi -j6 all | ||
- name: Run sonar-scanner | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
run: | | ||
sonar-scanner --define sonar.host.url="${{ env.SONAR_SERVER_URL }}" --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" --define sonar.projectKey=akuker_RASCSI --define sonar.organization=rascsi | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters