Release preparations #15
This file contains hidden or 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
| name: Linux CI | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [ "master", "devel" ] | |
| pull_request: | |
| branches: [ "master", "devel" ] | |
| env: | |
| BUILD_TYPE: RelWithDebInfo | |
| INSTALL_LOCATION: ${{github.workspace}}/SonivoxV4 | |
| TEMP: ${{github.workspace}}/temp | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| USE_44KHZ: [ON, OFF] | |
| USE_16BITS_SAMPLES: [ON, OFF] | |
| arch: ["x64", "arm64"] | |
| include: | |
| - { icon: '🟥', arch: "x64", os: "ubuntu-24.04" } | |
| - { icon: '🟩', arch: "arm64", os: "ubuntu-24.04-arm" } | |
| - { format: "r22s8", USE_44KHZ: OFF, USE_16BITS_SAMPLES: OFF } | |
| - { format: "r22s16", USE_44KHZ: OFF, USE_16BITS_SAMPLES: ON } | |
| - { format: "r44s8", USE_44KHZ: ON, USE_16BITS_SAMPLES: OFF } | |
| - { format: "r44s16", USE_44KHZ: ON, USE_16BITS_SAMPLES: ON } | |
| runs-on: ${{ matrix.os }} | |
| name: 🚧${{ matrix.icon }} Linux CI ${{ matrix.arch }} format ${{ matrix.format }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: '${{ matrix.icon }} Preparation' | |
| run: sudo apt install libgtest-dev | |
| - name: '${{ matrix.icon }} Temp Environment Variable' | |
| run: | | |
| mkdir -p ${{github.workspace}}/temp | |
| - name: '${{ matrix.icon }} Downloading a DLS file for testing' | |
| uses: ethanjli/cached-download-action@v0.1.3 | |
| with: | |
| url: http://www.ronimusic.com/sf2/Airfont_340.dls | |
| destination: ${{env.TEMP}}/soundfont.dls | |
| cache-key: cached.soundfont.dls | |
| enable-cross-os-archive: true | |
| - name: '${{ matrix.icon }} Configure CMake with USE_44KHZ=${{ matrix.USE_44KHZ }} and USE_16BITS_SAMPLES=${{ matrix.USE_16BITS_SAMPLES }}' | |
| run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_LOCATION}} -DUSE_44KHZ=${{ matrix.USE_44KHZ }} -DUSE_16BITS_SAMPLES=${{ matrix.USE_16BITS_SAMPLES }} | |
| - name: '${{ matrix.icon }} Build' | |
| run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
| - name: '${{ matrix.icon }} Test' | |
| working-directory: ${{github.workspace}}/build | |
| run: ctest -C ${{env.BUILD_TYPE}} --verbose | |
| - name: '${{ matrix.icon }} Install' | |
| run: cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
| - name: '${{ matrix.icon }} Create Archive' | |
| run: | | |
| cd ${{github.workspace}} | |
| tar cvf SonivoxV4.tar SonivoxV4 | |
| - name: '${{ matrix.icon }} Upload Artifacts' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: SonivoxV4-Linux-${{matrix.arch}}-${{matrix.format}} | |
| path: SonivoxV4.tar | |
| retention-days: 90 | |
| overwrite: true |