Reformat yml files

This commit is contained in:
badaix 2024-06-07 18:15:54 +02:00
parent 348494927b
commit a88ff9cfad
2 changed files with 227 additions and 180 deletions

View file

@ -19,37 +19,37 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: print environment
run: env
- name: dependencies
run: |
sudo apt-get update && \
sudo apt-get install -yq libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev \
libopus-dev alsa-utils libpulse-dev libavahi-client-dev libssl-dev \
avahi-daemon debhelper ccache expat cppcheck
- name: cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: boost_${{ env.BOOST_VERSION }}
key: boost-${{ env.BOOST_VERSION }}
enableCrossOsArchive: true
- name: get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION//_/.}/source/boost_${BOOST_VERSION}.tar.bz2
tar xjf boost_${BOOST_VERSION}.tar.bz2
- name: configure
run: |
cmake -S . -B build \
-DWERROR=ON -DBUILD_TESTS=ON \
-DBOOST_ROOT=boost_${BOOST_VERSION} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE \
-DCMAKE_CXX_FLAGS="-DCMAKE_CXX_FLAGS=-DJSON_HAS_CPP_14"
- name: analysis
run: cmake --build build --target ${{ matrix.tool }}
- uses: actions/checkout@v4
- name: print environment
run: env
- name: dependencies
run: |
sudo apt-get update && \
sudo apt-get install -yq libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev \
libopus-dev alsa-utils libpulse-dev libavahi-client-dev libssl-dev \
avahi-daemon debhelper ccache expat cppcheck
- name: cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: boost_${{ env.BOOST_VERSION }}
key: boost-${{ env.BOOST_VERSION }}
enableCrossOsArchive: true
- name: get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION//_/.}/source/boost_${BOOST_VERSION}.tar.bz2
tar xjf boost_${BOOST_VERSION}.tar.bz2
- name: configure
run: |
cmake -S . -B build \
-DWERROR=ON -DBUILD_TESTS=ON \
-DBOOST_ROOT=boost_${BOOST_VERSION} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE \
-DCMAKE_CXX_FLAGS="-DCMAKE_CXX_FLAGS=-DJSON_HAS_CPP_14"
- name: analysis
run: cmake --build build --target ${{ matrix.tool }}
unit-test:
@ -57,7 +57,7 @@ jobs:
strategy:
fail-fast: false
matrix:
sanitizer:
sanitizer:
- asan
- tsan
include:
@ -69,53 +69,53 @@ jobs:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: print environment
run: env
- name: dependencies
run: |
sudo apt-get update && \
sudo apt-get install -yq libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev \
libopus-dev alsa-utils libpulse-dev libavahi-client-dev libssl-dev \
avahi-daemon debhelper ccache expat
- name: cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: boost_${{ env.BOOST_VERSION }}
key: boost-${{ env.BOOST_VERSION }}
enableCrossOsArchive: true
- name: get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION//_/.}/source/boost_${BOOST_VERSION}.tar.bz2
tar xjf boost_${BOOST_VERSION}.tar.bz2
- name: cache ccache
id: cache-ccache
uses: actions/cache@v4
with:
# TODO: use environment variable $HOME/.ccache
path: /home/runner/.ccache
key: ${{ matrix.sanitizer }}-ccache-${{ github.sha }}
restore-keys: ${{ matrix.sanitizer }}-ccache-
- name: configure
run: |
cmake -S . -B build \
-DWERROR=ON \
-DBUILD_TESTS=ON \
-D${{ matrix.param }} \
-DBOOST_ROOT=boost_${BOOST_VERSION} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE \
-DCMAKE_CXX_FLAGS="-DCMAKE_CXX_FLAGS=-DJSON_HAS_CPP_14"
- name: build
env:
# TODO: use environment variable $HOME/.ccache
CCACHE_DIR: /home/runner/.ccache
run: cmake --build build --parallel 4 --verbose
- name: unit-test
run: ./bin/snapcast_test
- uses: actions/checkout@v4
- name: print environment
run: env
- name: dependencies
run: |
sudo apt-get update && \
sudo apt-get install -yq libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev \
libopus-dev alsa-utils libpulse-dev libavahi-client-dev libssl-dev \
avahi-daemon debhelper ccache expat
- name: cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: boost_${{ env.BOOST_VERSION }}
key: boost-${{ env.BOOST_VERSION }}
enableCrossOsArchive: true
- name: get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION//_/.}/source/boost_${BOOST_VERSION}.tar.bz2
tar xjf boost_${BOOST_VERSION}.tar.bz2
- name: cache ccache
id: cache-ccache
uses: actions/cache@v4
with:
# TODO: use environment variable $HOME/.ccache
path: /home/runner/.ccache
key: ${{ matrix.sanitizer }}-ccache-${{ github.sha }}
restore-keys: ${{ matrix.sanitizer }}-ccache-
- name: configure
run: |
cmake -S . -B build \
-DWERROR=ON \
-DBUILD_TESTS=ON \
-D${{ matrix.param }} \
-DBOOST_ROOT=boost_${BOOST_VERSION} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE \
-DCMAKE_CXX_FLAGS="-DCMAKE_CXX_FLAGS=-DJSON_HAS_CPP_14"
- name: build
env:
# TODO: use environment variable $HOME/.ccache
CCACHE_DIR: /home/runner/.ccache
run: cmake --build build --parallel 4 --verbose
- name: unit-test
run: ./bin/snapcast_test
linux:
@ -300,44 +300,44 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: print environment
run: env
- name: dependencies
run: |
brew update
brew install pkgconfig libsoxr flac libvorbis opus ccache expat
- name: cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: boost_${{ env.BOOST_VERSION }}
key: boost-${{ env.BOOST_VERSION }}
enableCrossOsArchive: true
- name: get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION//_/.}/source/boost_${BOOST_VERSION}.tar.bz2
tar xjf boost_${BOOST_VERSION}.tar.bz2
- name: cache ccache
id: cache-ccache
uses: actions/cache@v4
with:
path: /Users/runner/Library/Caches/ccache
key: ${{ runner.os }}-${{ matrix.xcode }}-ccache-${{ github.sha }}
restore-keys: ${{ runner.os }}-${{ matrix.xcode }}-ccache-
- name: configure
run: |
cmake -S . -B build \
-DWERROR=ON -DBUILD_TESTS=ON \
-DBOOST_ROOT=boost_${BOOST_VERSION} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_FLAGS="-I/usr/local/include -DCMAKE_CXX_FLAGS=-DJSON_HAS_CPP_14"
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
- name: build
run: cmake --build build --parallel 3 --verbose
- uses: actions/checkout@v4
- name: print environment
run: env
- name: dependencies
run: |
brew update
brew install pkgconfig libsoxr flac libvorbis opus ccache expat
- name: cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: boost_${{ env.BOOST_VERSION }}
key: boost-${{ env.BOOST_VERSION }}
enableCrossOsArchive: true
- name: get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION//_/.}/source/boost_${BOOST_VERSION}.tar.bz2
tar xjf boost_${BOOST_VERSION}.tar.bz2
- name: cache ccache
id: cache-ccache
uses: actions/cache@v4
with:
path: /Users/runner/Library/Caches/ccache
key: ${{ runner.os }}-${{ matrix.xcode }}-ccache-${{ github.sha }}
restore-keys: ${{ runner.os }}-${{ matrix.xcode }}-ccache-
- name: configure
run: |
cmake -S . -B build \
-DWERROR=ON -DBUILD_TESTS=ON \
-DBOOST_ROOT=boost_${BOOST_VERSION} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_FLAGS="-I/usr/local/include -DCMAKE_CXX_FLAGS=-DJSON_HAS_CPP_14"
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
- name: build
run: cmake --build build --parallel 3 --verbose
windows:

View file

@ -71,68 +71,67 @@ jobs:
container:
image: ${{matrix.image_prefix}}${{matrix.debian}}
steps:
- name: Get dependencies
run: |
apt-get update && \
apt-get install -yq wget debhelper build-essential cmake git rename \
libatomic1 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev \
libopus-dev alsa-utils libpulse-dev libavahi-client-dev avahi-daemon libexpat1-dev \
libssl-dev python3 ccache unzip
env:
DEBIAN_FRONTEND: noninteractive
- name: Checkout
uses: actions/checkout@v4
- name: Setup environment
run: |
echo "PARENT_DIR=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
BOOST_DOT_VERSION=$(echo ${BOOST_VERSION} | sed 's/_/./g')
echo "BOOST_DOT_VERSION=$BOOST_DOT_VERSION" >> $GITHUB_ENV
echo "BOOST=boost_${BOOST_VERSION}" >> $GITHUB_ENV
ln -s extras/package/debian debian
- name: Create changelog
run: |
$GITHUB_WORKSPACE/debian/changelog_md2deb.py $GITHUB_WORKSPACE/changelog.md > $GITHUB_WORKSPACE/debian/changelog
cat $GITHUB_WORKSPACE/debian/changelog
- name: Clean up
run: rm -rf ${{env.PARENT_DIR}}/snap*_${{ matrix.arch }}.deb
- name: Cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: ${{env.BOOST}}
key: ${{env.BOOST}}
- name: Get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${{env.BOOST_DOT_VERSION}}/source/${{env.BOOST}}.tar.bz2
tar xjf ${{env.BOOST}}.tar.bz2
- name: cache ccache
id: cache-ccache
uses: actions/cache@v4
with:
# TODO: use environment variable $HOME/.ccache
path: /home/runner/.ccache
key: ${{ matrix.os }}-${{ matrix.debian }}-ccache-${{ github.sha }}
restore-keys: ${{ matrix.os }}-${{ matrix.debian }}-ccache-
- name: Get Snapweb
run: |
wget https://github.com/badaix/snapweb/releases/download/${SNAPWEB_VERSION}/snapweb.zip
unzip snapweb.zip -d snapweb
- name: Create deb package
env:
# TODO: use environment variable $HOME/.ccache
CCACHE_DIR: /home/runner/.ccache
run: |
fakeroot make -f debian/rules CMAKEFLAGS="-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DBOOST_ROOT=$GITHUB_WORKSPACE/${{env.BOOST}} -DCMAKE_BUILD_TYPE:STRING=Release -DREVISION=${{ github.sha }} -DBUILD_WITH_PULSE=OFF -DSNAPWEB_DIR:STRING=$GITHUB_WORKSPACE/snapweb" binary
rename 's/_${{ matrix.arch }}/_without-pulse_${{ matrix.arch }}/g' ../snapclient*_${{ matrix.arch }}.deb
fakeroot make -f debian/rules clean
fakeroot make -f debian/rules CMAKEFLAGS="-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DBOOST_ROOT=$GITHUB_WORKSPACE/${{env.BOOST}} -DCMAKE_BUILD_TYPE:STRING=Release -DREVISION=${{ github.sha }} -DSNAPWEB_DIR:STRING=$GITHUB_WORKSPACE/snapweb" binary
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: snapcast_${{ matrix.arch }}-debian-${{matrix.debian}}-${{ github.sha }}
path: ${{env.PARENT_DIR}}/snap*_${{ matrix.arch }}.deb
- name: Get dependencies
run: |
apt-get update && \
apt-get install -yq wget debhelper build-essential cmake git rename \
libatomic1 libasound2-dev libsoxr-dev libvorbisidec-dev libvorbis-dev libflac-dev \
libopus-dev alsa-utils libpulse-dev libavahi-client-dev avahi-daemon libexpat1-dev \
libssl-dev python3 ccache unzip
env:
DEBIAN_FRONTEND: noninteractive
- name: Checkout
uses: actions/checkout@v4
- name: Setup environment
run: |
echo "PARENT_DIR=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
BOOST_DOT_VERSION=$(echo ${BOOST_VERSION} | sed 's/_/./g')
echo "BOOST_DOT_VERSION=$BOOST_DOT_VERSION" >> $GITHUB_ENV
echo "BOOST=boost_${BOOST_VERSION}" >> $GITHUB_ENV
ln -s extras/package/debian debian
- name: Create changelog
run: |
$GITHUB_WORKSPACE/debian/changelog_md2deb.py $GITHUB_WORKSPACE/changelog.md > $GITHUB_WORKSPACE/debian/changelog
cat $GITHUB_WORKSPACE/debian/changelog
- name: Clean up
run: rm -rf ${{env.PARENT_DIR}}/snap*_${{ matrix.arch }}.deb
- name: Cache boost
id: cache-boost
uses: actions/cache@v4
with:
path: ${{env.BOOST}}
key: ${{env.BOOST}}
- name: Get boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/${{env.BOOST_DOT_VERSION}}/source/${{env.BOOST}}.tar.bz2
tar xjf ${{env.BOOST}}.tar.bz2
- name: cache ccache
id: cache-ccache
uses: actions/cache@v4
with:
# TODO: use environment variable $HOME/.ccache
path: /home/runner/.ccache
key: ${{ matrix.os }}-${{ matrix.debian }}-ccache-${{ github.sha }}
restore-keys: ${{ matrix.os }}-${{ matrix.debian }}-ccache-
- name: Get Snapweb
run: |
wget https://github.com/badaix/snapweb/releases/download/${SNAPWEB_VERSION}/snapweb.zip
unzip snapweb.zip -d snapweb
- name: Create deb package
env:
# TODO: use environment variable $HOME/.ccache
CCACHE_DIR: /home/runner/.ccache
run: |
fakeroot make -f debian/rules CMAKEFLAGS="-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DBOOST_ROOT=$GITHUB_WORKSPACE/${{env.BOOST}} -DCMAKE_BUILD_TYPE:STRING=Release -DREVISION=${{ github.sha }} -DBUILD_WITH_PULSE=OFF -DSNAPWEB_DIR:STRING=$GITHUB_WORKSPACE/snapweb" binary
rename 's/_${{ matrix.arch }}/_without-pulse_${{ matrix.arch }}/g' ../snapclient*_${{ matrix.arch }}.deb
fakeroot make -f debian/rules clean
fakeroot make -f debian/rules CMAKEFLAGS="-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DBOOST_ROOT=$GITHUB_WORKSPACE/${{env.BOOST}} -DCMAKE_BUILD_TYPE:STRING=Release -DREVISION=${{ github.sha }} -DSNAPWEB_DIR:STRING=$GITHUB_WORKSPACE/snapweb" binary
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: snapcast_${{ matrix.arch }}-debian-${{matrix.debian}}-${{ github.sha }}
path: ${{env.PARENT_DIR}}/snap*_${{ matrix.arch }}.deb
win:
needs: release
@ -232,7 +231,6 @@ jobs:
# - name: build
# run: cmake --build build --parallel 3
# rpm:
# if: ${{ false }} # disable for now
# strategy:
@ -279,3 +277,52 @@ jobs:
# name: snapcast_${{ matrix.arch }}-fedora-${{matrix.image}}-${{ github.sha }}
# path: ~/rpmbuild/RPMS/${{ matrix.arch }}/snap*.rpm
win:
runs-on: windows-2019
name: win
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout Snapcast
uses: actions/checkout@v4
with:
repository: badaix/snapcast
path: src/snapcast
ref: ${{ env.VERSION }}
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
#path: ${VCPKG_INSTALLATION_ROOT}\installed
path: c:\vcpkg\installed
key: ${{ runner.os }}-dependencies
- name: Get dependenciesenv
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: vcpkg.exe install libflac libvorbis soxr opus boost-asio --triplet x64-windows
- name: configure
run: |
echo vcpkg installation root: $env:VCPKG_INSTALLATION_ROOT
cmake -S . -B build -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET="x64-windows" -DCMAKE_BUILD_TYPE="Release" -DREVISION="${{ github.sha }}" -DWERROR=ON -DBUILD_TESTS=ON
- name: build
run: cmake --build build --config Release --parallel 3 --verbose
- name: installer
run: |
copy ${env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows\bin\FLAC.dll bin\Release\
copy ${env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows\bin\ogg.dll bin\Release\
copy ${env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows\bin\opus.dll bin\Release\
copy ${env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows\bin\vorbis.dll bin\Release\
copy ${env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows\bin\soxr.dll bin\Release\
copy "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\vc_redist.x64.exe" bin\Release\
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: snapcast_win64-${{ github.sha }}
path: |
bin\Release\snapclient.exe
bin\Release\FLAC.dll
bin\Release\ogg.dll
bin\Release\opus.dll
bin\Release\vorbis.dll
bin\Release\soxr.dll
bin\Release\vc_redist.x64.exe