build: Update Actions workflows

This commit is contained in:
Christian W. Zuckschwerdt 2022-11-21 11:32:33 +01:00
parent fca5408b96
commit d4c0e626dc
3 changed files with 77 additions and 57 deletions
.github
actions/style-check
workflows

View file

@ -1,5 +1,5 @@
name: 'Style Check' name: 'Style Check'
description: 'Check for common code style warnings' description: 'Check for common code style warnings'
runs: runs:
using: 'node12' using: 'node16'
main: 'index.js' main: 'index.js'

View file

@ -6,31 +6,35 @@ jobs:
name: Build with CMake name: Build with CMake
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Get latest CMake and Ninja
uses: lukka/get-cmake@latest
- name: Run CMake+Ninja - name: Run CMake+Ninja
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{runner.workspace}}/b/ninja' configurePresetCmdString: "[`-B`, `${{ runner.workspace }}/b/ninja`, `-GNinja`, `-DENABLE_RTLSDR=OFF`, `-DENABLE_SOAPYSDR=OFF`]"
cmakeAppendedArgs: '-GNinja -DENABLE_RTLSDR=OFF -DENABLE_SOAPYSDR=OFF' buildPreset: dummy
buildPresetCmdString: "[`--build`, `${{ runner.workspace }}/b/ninja`]"
- name: Run CMake+UnixMakefiles - name: Run CMake+UnixMakefiles
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{runner.workspace}}/b/unixmakefiles' configurePresetCmdString: "[`-B`, `${{ runner.workspace }}/b/unixmakefiles`, `-G`, `Unix Makefiles`, `-DENABLE_RTLSDR=OFF`, `-DENABLE_SOAPYSDR=OFF`]"
cmakeAppendedArgs: '-G "Unix Makefiles" -DENABLE_RTLSDR=OFF -DENABLE_SOAPYSDR=OFF' buildPreset: dummy
buildPresetCmdString: "[`--build`, `${{ runner.workspace }}/b/unixmakefiles`]"
style_check_job: style_check_job:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Check code style name: Check code style
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Style Check - name: Style Check
uses: ./.github/actions/style-check uses: ./.github/actions/style-check
maintainer_update_check_job: maintainer_update_check_job:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Needs maintainer_update name: Needs maintainer_update
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Working directory clean excluding untracked files - name: Working directory clean excluding untracked files
run: | run: |
./maintainer_update.py ./maintainer_update.py
@ -39,7 +43,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Check symbol errors name: Check symbol errors
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Symbolizer report - name: Symbolizer report
run: | run: |
./tests/symbolizer.py check ./tests/symbolizer.py check
@ -54,7 +58,7 @@ jobs:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
name: Analyze with Clang name: Analyze with Clang
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Install Clang - name: Install Clang
run: | run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add -

View file

@ -16,7 +16,7 @@ jobs:
#runs-on: ubuntu-latest #runs-on: ubuntu-latest
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/cache@v2 - uses: actions/cache@v3
id: downloads id: downloads
with: with:
path: ${{ runner.workspace }}/${{ env.pothos-exe }} path: ${{ runner.workspace }}/${{ env.pothos-exe }}
@ -34,7 +34,7 @@ jobs:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
release_version: ${{ env.RELEASE_VERSION }} release_version: ${{ env.RELEASE_VERSION }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Get Release tag - name: Get Release tag
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Create Release info - name: Create Release info
@ -60,7 +60,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Build with Mingw-w64 on ${{ matrix.arch }} name: Build with Mingw-w64 on ${{ matrix.arch }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: "Install Mingw-w64" - name: "Install Mingw-w64"
run: | run: |
sudo apt-get update -q -y sudo apt-get update -q -y
@ -96,22 +96,22 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [windows-2016, windows-2019] os: [windows-2019, windows-2022]
platform: [x64, Win32] platform: [x64, Win32]
# from https://downloads.myriadrf.org/builds/PothosSDR/ # from https://downloads.myriadrf.org/builds/PothosSDR/
#pothos-ver: [2021.07.25-vc16] #pothos-ver: [2021.07.25-vc16]
include: include:
- os: windows-2016
generator: Visual Studio 15 2017
- os: windows-2019 - os: windows-2019
generator: Visual Studio 16 2019 generator: Visual Studio 16 2019
- os: windows-2022
generator: Visual Studio 17 2022
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
name: ${{ matrix.generator }} ${{ matrix.platform }} CMake (MSBuild) on ${{ matrix.os }} name: ${{ matrix.generator }} ${{ matrix.platform }} CMake (MSBuild) on ${{ matrix.os }}
steps: steps:
- run: choco install openssl - run: choco install openssl
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions/cache@v2 - uses: actions/cache@v3
id: downloads id: downloads
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
with: with:
@ -129,45 +129,57 @@ jobs:
run: | run: |
mkdir -p pothos mkdir -p pothos
7z x -opothos -y ${{ env.pothos-exe }} 7z x -opothos -y ${{ env.pothos-exe }}
echo "POTHOS_PATH=$(pwd)/pothos" >> $GITHUB_ENV
- name: Get latest CMake and Ninja
uses: lukka/get-cmake@latest
# Note: this assumes ${{ runner.workspace }} == ${{ github.workspace }}/..
- name: CMake+None - name: CMake+None
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{ runner.workspace }}/b/rtl_433' configurePresetCmdString: "[`-B`, `../b/rtl_433`, `-G${{ matrix.generator }}`, `-A${{ matrix.platform }}`, `-DENABLE_RTLSDR=OFF`, `-DENABLE_SOAPYSDR=OFF`, `-DENABLE_OPENSSL=OFF`]"
cmakeAppendedArgs: '-G"${{ matrix.generator }}" -A${{ matrix.platform }} -DENABLE_RTLSDR=OFF -DENABLE_SOAPYSDR=OFF -DENABLE_OPENSSL=OFF' buildPreset: dummy
buildWithCMakeArgs: '--config Release' buildPresetCmdString: "[`--build`, `../b/rtl_433`, `--config`, `Release`]"
- name: CMake+RTLSDR+SOAPYSDR+TLS - name: CMake+RTLSDR+SOAPYSDR+TLS
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
env:
CMAKE_PREFIX_PATH: ${{ runner.workspace }}\pothos
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{ runner.workspace }}/b/rtl_433-rtlsdr-soapysdr-tls' configurePresetCmdString: "[`-B`, `../b/rtl_433-rtlsdr-soapysdr-tls`, `-G${{ matrix.generator }}`, `-A${{ matrix.platform }}`, `-DCMAKE_PREFIX_PATH=${{ env.POTHOS_PATH }}`, `-DENABLE_RTLSDR=ON`, `-DENABLE_SOAPYSDR=ON`, `-DENABLE_OPENSSL=ON`]"
cmakeAppendedArgs: '-G"${{ matrix.generator }}" -A${{ matrix.platform }} -DCMAKE_PREFIX_PATH=${{ runner.workspace }}/pothos -DENABLE_RTLSDR=ON -DENABLE_SOAPYSDR=ON -DENABLE_OPENSSL=ON' buildPreset: dummy
buildWithCMakeArgs: '--config Release' buildPresetCmdString: "[`--build`, `../b/rtl_433-rtlsdr-soapysdr-tls`, `--config`, `Release`]"
- name: CMake+RTLSDR+SOAPYSDR - name: CMake+RTLSDR+SOAPYSDR
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
env:
CMAKE_PREFIX_PATH: ${{ runner.workspace }}\pothos
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{ runner.workspace }}/b/rtl_433-rtlsdr-soapysdr' configurePresetCmdString: "[`-B`, `../b/rtl_433-rtlsdr-soapysdr`, `-G${{ matrix.generator }}`, `-A${{ matrix.platform }}`, `-DCMAKE_PREFIX_PATH=${{ env.POTHOS_PATH }}`, `-DENABLE_RTLSDR=ON`, `-DENABLE_SOAPYSDR=ON`, `-DENABLE_OPENSSL=OFF`]"
cmakeAppendedArgs: '-G"${{ matrix.generator }}" -A${{ matrix.platform }} -DCMAKE_PREFIX_PATH=${{ runner.workspace }}/pothos -DENABLE_RTLSDR=ON -DENABLE_SOAPYSDR=ON -DENABLE_OPENSSL=OFF' buildPreset: dummy
buildWithCMakeArgs: '--config Release' buildPresetCmdString: "[`--build`, `../b/rtl_433-rtlsdr-soapysdr`, `--config`, `Release`]"
- name: CMake+RTLSDR+TLS - name: CMake+RTLSDR+TLS
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
env:
CMAKE_PREFIX_PATH: ${{ runner.workspace }}\pothos
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{ runner.workspace }}/b/rtl_433-rtlsdr-tls' configurePresetCmdString: "[`-B`, `../b/rtl_433-rtlsdr-tls`, `-G${{ matrix.generator }}`, `-A${{ matrix.platform }}`, `-DCMAKE_PREFIX_PATH=${{ env.POTHOS_PATH }}`, `-DENABLE_RTLSDR=ON`, `-DENABLE_SOAPYSDR=OFF`, `-DENABLE_OPENSSL=ON`]"
cmakeAppendedArgs: '-G"${{ matrix.generator }}" -A${{ matrix.platform }} -DCMAKE_PREFIX_PATH=${{ runner.workspace }}/pothos -DENABLE_RTLSDR=ON -DENABLE_SOAPYSDR=OFF -DENABLE_OPENSSL=ON' buildPreset: dummy
buildWithCMakeArgs: '--config Release' buildPresetCmdString: "[`--build`, `../b/rtl_433-rtlsdr-tls`, `--config`, `Release`]"
- name: CMake+RTLSDR - name: CMake+RTLSDR
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
env:
CMAKE_PREFIX_PATH: ${{ runner.workspace }}\pothos
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{ runner.workspace }}/b/rtl_433-rtlsdr' configurePresetCmdString: "[`-B`, `../b/rtl_433-rtlsdr`, `-G${{ matrix.generator }}`, `-A${{ matrix.platform }}`, `-DCMAKE_PREFIX_PATH=${{ env.POTHOS_PATH }}`, `-DENABLE_RTLSDR=ON`, `-DENABLE_SOAPYSDR=OFF`, `-DENABLE_OPENSSL=OFF`]"
cmakeAppendedArgs: '-G"${{ matrix.generator }}" -A${{ matrix.platform }} -DCMAKE_PREFIX_PATH=${{ runner.workspace }}/pothos -DENABLE_RTLSDR=ON -DENABLE_SOAPYSDR=OFF -DENABLE_OPENSSL=OFF' buildPreset: dummy
buildWithCMakeArgs: '--config Release' buildPresetCmdString: "[`--build`, `../b/rtl_433-rtlsdr`, `--config`, `Release`]"
- name: Package dist - name: Package dist
if: matrix.platform == 'x64' if: matrix.platform == 'x64'
shell: bash shell: bash
@ -201,23 +213,27 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
name: Build with CMake on ${{ matrix.os }} name: Build with CMake on ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Install SDR - name: Install SDR
run: | run: |
sudo apt-get update -q sudo apt-get update -q
sudo apt-get install -y librtlsdr-dev libsoapysdr-dev libssl-dev sudo apt-get install -y librtlsdr-dev libsoapysdr-dev libssl-dev
- name: Get latest CMake and Ninja
uses: lukka/get-cmake@latest
- name: Run CMake+Ninja - name: Run CMake+Ninja
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{runner.workspace}}/b/ninja' configurePresetCmdString: "[`-B`, `${{ runner.workspace }}/b/ninja`, `-GNinja`, `-DENABLE_RTLSDR=ON`, `-DENABLE_SOAPYSDR=ON`, `-DENABLE_OPENSSL=ON`]"
cmakeAppendedArgs: '-GNinja -DENABLE_RTLSDR=ON -DENABLE_SOAPYSDR=ON -DENABLE_OPENSSL=ON' buildPreset: dummy
buildPresetCmdString: "[`--build`, `${{ runner.workspace }}/b/ninja`, `--config`, `Release`]"
- name: Run CMake+UnixMakefiles - name: Run CMake+UnixMakefiles
uses: lukka/run-cmake@v3 uses: lukka/run-cmake@v10
with: with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced configurePreset: dummy
buildDirectory: '${{runner.workspace}}/b/unixmakefiles' configurePresetCmdString: "[`-B`, `${{ runner.workspace }}/b/unixmakefiles`, `-GUnix Makefiles`, `-DENABLE_RTLSDR=ON`, `-DENABLE_SOAPYSDR=ON`, `-DENABLE_OPENSSL=ON`]"
cmakeAppendedArgs: '-G"Unix Makefiles" -DENABLE_RTLSDR=ON -DENABLE_SOAPYSDR=ON -DENABLE_OPENSSL=ON' buildPreset: dummy
buildPresetCmdString: "[`--build`, `${{ runner.workspace }}/b/unixmakefiles`, `--config`, `Release`]"
build_arch_job: build_arch_job:
if: ${{ false }} # disable for now if: ${{ false }} # disable for now
@ -244,7 +260,7 @@ jobs:
distro: buster distro: buster
name: Build on ${{ matrix.distro }} ${{ matrix.arch }} name: Build on ${{ matrix.distro }} ${{ matrix.arch }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: uraimo/run-on-arch-action@v2.0.8 - uses: uraimo/run-on-arch-action@v2.0.8
id: runcmd id: runcmd
with: with: