Skip to content

keep description lower case for HTTP #3095

keep description lower case for HTTP

keep description lower case for HTTP #3095

Workflow file for this run

name: Build (Docker/Windows)
on:
push:
branches:
- 'main'
tags:
- '*'
pull_request:
workflow_dispatch:
jobs:
bakeHTML:
runs-on: ubuntu-latest
outputs:
run_number: ${{ steps.set_run_number.outputs.run_number }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set run number for downstream jobs
id: set_run_number
run: |
echo "run_number=${{ github.run_number }}" >> $GITHUB_OUTPUT
echo "Run number: ${{ github.run_number }}"
- name: Install required tools
run: |
sudo apt-get update
sudo apt-get install gzip xxd minify -y
- name: Run bake script
run: |
./scripts/build-html.sh
- name: Commit and push changes
run: |
git add -A
if git diff --cached --quiet; then
echo "Nothing to commit, working tree clean"
exit 0
else
echo "There are changes to be committed"
echo "Changed files:"
git diff --cached --name-only
fi
git config --local user.email "action@github.com"
git config --local user.name "Github Action"
git commit -m "Bake HTML files in WebDB.cpp"
git push origin main
build_debian:
needs: bakeHTML
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_NUMBER: ${{ needs.bakeHTML.outputs.run_number }}
strategy:
matrix:
distro: ['debian']
codename: ['bullseye', 'bookworm', 'trixie']
arch: ['amd64', 'arm64', 'armhf']
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
- name: Set filename
run: echo "filename=ais-catcher_${{ matrix.distro }}_${{ matrix.codename }}_${{ matrix.arch }}.deb" >> $GITHUB_ENV
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Map architecture
id: arch
run: |
case "${{ matrix.arch }}" in
armhf) echo "platform=linux/arm/v7" >> $GITHUB_OUTPUT ;;
*) echo "platform=linux/${{ matrix.arch }}" >> $GITHUB_OUTPUT ;;
esac
- name: Build package
run: |
mkdir -p output
docker run --rm \
--platform ${{ steps.arch.outputs.platform }} \
-v $(pwd):/src \
-v $(pwd)/output:/output \
-w /src \
-e RUN_NUMBER=${RUN_NUMBER} \
${{ matrix.distro }}:${{ matrix.codename }} \
bash scripts/build-debian.sh -o /output
mv output/ais-catcher.deb ${{ env.filename }}
- name: Upload to release
run: gh release upload 'Edge' ${{ env.filename }} --repo ${{ github.repository }} --clobber
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.filename }}
path: ${{ env.filename }}
build_ubuntu:
needs: bakeHTML
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_NUMBER: ${{ needs.bakeHTML.outputs.run_number }}
strategy:
matrix:
distro: ['ubuntu']
codename: ['focal', 'jammy', 'noble', 'plucky', 'questing', 'resolute']
arch: ['amd64', 'arm64', 'armhf']
exclude:
- codename: 'focal'
arch: 'armhf'
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
- name: Set filename
run: echo "filename=ais-catcher_${{ matrix.distro }}_${{ matrix.codename }}_${{ matrix.arch }}.deb" >> $GITHUB_ENV
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Map architecture
id: arch
run: |
case "${{ matrix.arch }}" in
armhf) echo "platform=linux/arm/v7" >> $GITHUB_OUTPUT ;;
*) echo "platform=linux/${{ matrix.arch }}" >> $GITHUB_OUTPUT ;;
esac
- name: Build package
run: |
mkdir -p output
docker run --rm \
--platform ${{ steps.arch.outputs.platform }} \
-v $(pwd):/src \
-v $(pwd)/output:/output \
-w /src \
-e RUN_NUMBER=${RUN_NUMBER} \
${{ matrix.distro }}:${{ matrix.codename }} \
bash scripts/build-debian.sh -o /output
mv output/ais-catcher.deb ${{ env.filename }}
- name: Upload to release
run: gh release upload 'Edge' ${{ env.filename }} --repo ${{ github.repository }} --clobber
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.filename }}
path: ${{ env.filename }}
Docker:
runs-on: ubuntu-latest
needs: build_debian
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
- name: Calculate Container Metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=edge,branch=main
type=ref,event=tag
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push Images
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64, linux/arm64, linux/arm/v7
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
RUN_NUMBER=${{ needs.bakeHTML.outputs.run_number }}
no-cache: true
Windows:
runs-on: windows-2022
needs: bakeHTML
env:
RUN_NUMBER: ${{ needs.bakeHTML.outputs.run_number }}
strategy:
matrix:
platform: [x86, x64]
steps:
- uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: ${{matrix.platform}}
- name: Restore vcpkg packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: vcpkg integrate install
- name: Install vcpkg packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
vcpkg install libpq:${{matrix.platform}}-windows fftw3:${{matrix.platform}}-windows sqlite3:${{matrix.platform}}-windows openssl:${{matrix.platform}}-windows libusb:${{matrix.platform}}-windows pthread:${{matrix.platform}}-windows zlib:${{matrix.platform}}-windows soxr:${{matrix.platform}}-windows zeromq:${{matrix.platform}}-windows
- name: Setting up directories
run: |
mkdir output; cd output; mkdir plugins; mkdir Licenses; cd ..; mkdir include; cd include; mkdir curl; mkdir openssl; cd ..; mkdir release; mkdir lib;
cp C:\vcpkg\installed\${{matrix.platform}}-windows\include\*.h include
cp C:\vcpkg\installed\${{matrix.platform}}-windows\include\openssl\*.h include\openssl
cp C:\vcpkg\installed\${{matrix.platform}}-windows\lib\*.lib lib
cp C:\vcpkg\installed\${{matrix.platform}}-windows\bin\*.dll release
- name: Create start.bat
run: |
cd output
echo "AIS-catcher -v 10 -X -u 127.0.0.1 10110 -N 8100 PLUGIN_DIR plugins`nPAUSE" |Out-File -FilePath start.bat -Encoding ascii
cd ..
- name: Building Libraries and AIS-catcher
run: |
echo "x64" > x64-a; echo "Win32" > x86-a; $msplatform = $(cat "${{matrix.platform}}-a")
$gen = "Visual Studio 17 2022"
$config = "Release"
$libusb_inc = "C:\vcpkg\installed\${{matrix.platform}}-windows\include\libusb-1.0"
$libusb_lib = "C:\vcpkg\installed\${{matrix.platform}}-windows\lib\libusb-1.0.lib"
$pthread_lib = "C:\vcpkg\installed\${{matrix.platform}}-windows\lib\pthreadVC3.lib"
$pthread_inc = "C:\vcpkg\installed\${{matrix.platform}}-windows\include"
$fftw3_lib = "C:\vcpkg\installed\${{matrix.platform}}-windows\lib\fftw3.lib"
$fftw3_inc = "C:\vcpkg\installed\${{matrix.platform}}-windows\include"
echo "RTLSDR"
git clone https://github.com/jvde-github/rtl-sdr.git
cd rtl-sdr; mkdir build; cd build
cmake .. -A $msplatform -G $gen -DLIBUSB_FOUND=1 -DLIBUSB_INCLUDE_DIRS="$libusb_inc"
msbuild /verbosity:quiet /m /p:Configuration=$config /p:Platform=$msplatform rtlsdr.sln
cd ..; cd ..
cp rtl-sdr\build\src\Release\*.dll release
cp rtl-sdr\build\src\Release\*.lib lib
cp rtl-sdr\include\*.h include
cp rtl-sdr\COPYING output\Licenses\RTLSDR
echo "AIRSPY HF+"
git clone https://github.com/airspy/airspyhf.git
cd airspyhf; mkdir build; cd build
cmake .. -A $msplatform -G $gen -DLIBUSB_LIBRARIES="$libusb_lib" -DLIBUSB_INCLUDE_DIR="$libusb_inc" -DTHREADS_PTHREADS_WIN32_LIBRARY="$pthread_lib" -DTHREADS_PTHREADS_INCLUDE_DIR="$pthread_inc"
msbuild /verbosity:quiet /m /p:Configuration=$config /p:Platform=$msplatform airspyhf_all.sln
cd ..; cd ..
cp airspyhf\build\libairspyhf\src\Release\*.dll release
cp airspyhf\build\libairspyhf\src\Release\*.lib lib
cp airspyhf\libairspyhf\src\airspyhf.h include
cp airspyhf\LICENSE.BSD output\Licenses\AIRSPYHF
echo "AIRSPY"
git clone https://github.com/airspy/airspyone_host.git
git reset --hard b97309a6a24db161de990d6e4f0432fc94f72cd9
cd airspyone_host; mkdir build; cd build
cmake .. -A $msplatform -G $gen -DLIBUSB_LIBRARIES="$libusb_lib" -DLIBUSB_INCLUDE_DIR="$libusb_inc" -DTHREADS_PTHREADS_WIN32_LIBRARY="$pthread_lib" -DTHREADS_PTHREADS_INCLUDE_DIR="$pthread_inc"
msbuild /verbosity:quiet /m /p:Configuration=$config /p:Platform=$msplatform airspy_all.sln
cd ..; cd ..
cp airspyone_host\build\airspy-tools\src\*.dll release
cp airspyone_host\build\libairspy\src\Release\*.lib lib
cp airspyone_host\libairspy\src\*.h include
cp airspyone_host\airspy-tools\LICENSE.md output\Licenses\AIRSPY
echo "HACK RF"
git clone https://github.com/greatscottgadgets/hackrf.git
git reset --hard 34cbbe7330d1e11e7967f84da39d04a61bfdf4f1
cd hackrf; cd host; mkdir build; cd build
cmake .. -A $msplatform -G $gen -DLIBUSB_LIBRARIES="$libusb_lib" -DLIBUSB_INCLUDE_DIR="$libusb_inc" -DTHREADS_PTHREADS_WIN32_LIBRARY="$pthread_lib" -DTHREADS_PTHREADS_INCLUDE_DIR="$pthread_inc" -DFFTW_LIBRARIES="$fftw3_lib" -DFFTW_INCLUDES="$fftw3_inc"
msbuild /verbosity:quiet /m /p:Configuration=$config /p:Platform=$msplatform HackRF.sln
cd ..; cd ..; cd ..
cp hackrf\host\build\libhackrf\src\Release\*.dll release
cp hackrf\host\build\libhackrf\src\Release\*.lib lib
cp hackrf\host\libhackrf\src\*.h include
cp hackrf\COPYING output\Licenses\HACKRF
# echo "HYDRASDR"
# git clone https://github.com/hydrasdr/hydrasdr-host.git
# cd hydrasdr-host; mkdir build; cd build
# cmake .. -A $msplatform -G $gen -DLIBUSB_LIBRARIES="$libusb_lib" -DLIBUSB_INCLUDE_DIR="$libusb_inc" -DTHREADS_PTHREADS_WIN32_LIBRARY="$pthread_lib" -DTHREADS_PTHREADS_INCLUDE_DIR="$pthread_inc"
# cmake --build . --config $config
# cd ..; cd ..
# cp hydrasdr-host\build\libhydrasdr\src\$config\*.lib lib
# cp hydrasdr-host\libhydrasdr\src\*.h include
# cp hydrasdr-host\LICENSE.md output\Licenses\HYDRASDR
echo "AIS-catcher"
mkdir build; cd build
cmake .. -A $msplatform -G $gen -DPOTHOSSDR_INCLUDE_DIR=${{github.workspace}}\include -DPOTHOSSDR_LIBRARY_DIR=${{github.workspace}}\lib -DPOTHOSSDR_BINARY_DIR=${{github.workspace}}\release -DRUN_NUMBER=$env:RUN_NUMBER
msbuild /verbosity:quiet /m /p:Configuration=$config /p:Platform=$msplatform AIS-catcher.sln
cd ..
cp LICENSE output\Licenses\AIS-catcher
- name: Prepare output
run: cp build\*.dll output; cp build\Release\*.exe output; cp plugins\* output\plugins; cp README.md output;
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: "AIS-catcher ${{matrix.platform}}"
path: output
- name: Compress, upload, and delete ZIP file
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
Compress-Archive -Path output/* -DestinationPath "output/AIS-catcher ${{matrix.platform}}.zip"
bash -c "gh release upload 'Edge' './output/AIS-catcher ${{matrix.platform}}.zip' --repo ${{ github.repository }} --clobber"
del "output\AIS-catcher ${{matrix.platform}}.zip"
- name: Download SDRPlay API
run: |
cd "C:/Program Files/"
Invoke-WebRequest -Uri " https://www.sdrplay.com/software/SDRplay_RSP_API-Windows-3.09.exe" -OutFile sdrplay.exe
choco install innoextract
innoextract sdrplay.exe
ren app SDRplay
- name: Building with SDRPlay support
run: |
cp "C:\Program Files\SDRplay\API\docs\SDRplay_RSP_API_Release_Notes_V3.09.pdf" output\Licenses\SDRPLAY.pdf
echo "x64" > x64-a; echo "Win32" > x86-a; $msplatform = $(cat "${{matrix.platform}}-a")
$gen = "Visual Studio 17 2022"
$config = "Release"
echo "AIS-catcher"
Remove-Item build -Recurse
mkdir build; cd build
cmake .. -A $msplatform -G $gen -DPOTHOSSDR_INCLUDE_DIR=${{github.workspace}}\include -DPOTHOSSDR_LIBRARY_DIR=${{github.workspace}}\lib -DPOTHOSSDR_BINARY_DIR=${{github.workspace}}\release -DRUN_NUMBER=$env:RUN_NUMBER
msbuild /verbosity:quiet /m /p:Configuration=$config /p:Platform=$msplatform AIS-catcher.sln
cd ..
cp LICENSE output\Licenses\AIS-catcher
- name: Prepare output SDRPLAY
run: cp build\*.dll output; cp build\Release\*.exe output; cp plugins\* output\plugins; cp README.md output;
- name: Upload Artifacts SDRPLAY
uses: actions/upload-artifact@v4
with:
name: "AIS-catcher SDRPLAY ${{matrix.platform}}"
path: output
- name: Compress, upload, and delete ZIP file
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
Compress-Archive -Path output/* -DestinationPath "output/AIS-catcher SDRPLAY ${{matrix.platform}}.zip"
bash -c "gh release upload 'Edge' './output/AIS-catcher SDRPLAY ${{matrix.platform}}.zip' --repo ${{ github.repository }} --clobber"
del "output\AIS-catcher SDRPLAY ${{matrix.platform}}.zip"