Untagged build #1508
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: Untagged build | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| tags: | |
| - "!**" | |
| paths-ignore: | |
| - '.github/workflows/Tagged.yaml' | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| env: | |
| Configuration: Release | |
| DSOALRepo: ${{github.repository}} | |
| DSOALBranch: ${{github.ref_name}} | |
| OpenALSoftRepo: kcat/openal-soft | |
| OpenALSoftBranch: master | |
| GH_TOKEN: ${{github.token}} | |
| jobs: | |
| Build: | |
| name: ${{matrix.config.name}} | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| config: | |
| - { | |
| name: "Win32", | |
| platform: "Win32" | |
| } | |
| - { | |
| name: "Win64", | |
| platform: "x64" | |
| } | |
| steps: | |
| - name: Clone DSOAL | |
| run: | | |
| git clone --branch ${{env.DSOALBranch}} https://github.com/${{env.DSOALRepo}}.git . | |
| - name: Clone OpenAL Soft | |
| run: | | |
| git clone --branch ${{env.OpenALSoftBranch}} https://github.com/${{env.OpenALSoftRepo}}.git | |
| - name: Get version details | |
| run: | | |
| echo "DSOALCommitHash=$(git rev-parse HEAD)" >> $env:GITHUB_ENV | |
| echo "DSOALCommitHashShort=$(git rev-parse --short=8 HEAD)" >> $env:GITHUB_ENV | |
| echo "DSOALCommitDate=$(git show -s --date=iso-local --format=%cd)" >> $env:GITHUB_ENV | |
| echo "DSOALCommitCount=$(git rev-list --count HEAD)" >> $env:GITHUB_ENV | |
| echo "DSOALCommitTitle=$(git show --pretty=format:%s -s HEAD)" >> $env:GITHUB_ENV | |
| cd "openal-soft" | |
| echo "OpenALSoftCommitHash=$(git rev-parse HEAD)" >> $env:GITHUB_ENV | |
| echo "OpenALSoftCommitHashShort=$(git rev-parse --short=8 HEAD)" >> $env:GITHUB_ENV | |
| echo "OpenALSoftCommitDate=$(git show -s --date=iso-local --format=%cd)" >> $env:GITHUB_ENV | |
| echo "OpenALSoftCommitCount=$(git rev-list --count HEAD)" >> $env:GITHUB_ENV | |
| echo "OpenALSoftCommitTitle=$(git show --pretty=format:%s -s HEAD)" >> $env:GITHUB_ENV | |
| cd "${{github.workspace}}" | |
| - name: Build DSOAL | |
| run: | | |
| cmake -B "${{github.workspace}}/build" -A ${{matrix.config.platform}} | |
| cmake --build "${{github.workspace}}/build" --config ${{env.Configuration}} | |
| - name: Build OpenAL Soft | |
| run: | | |
| cmake -B "${{github.workspace}}/openal-soft/build" -DCMAKE_Configuration=${{env.Configuration}} -A ${{matrix.config.platform}} -DALSOFT_BUILD_ROUTER=ON -DALSOFT_REQUIRE_WINMM=ON -DALSOFT_REQUIRE_DSOUND=ON -DALSOFT_REQUIRE_WASAPI=ON "${{github.workspace}}/openal-soft" | |
| cmake --build "${{github.workspace}}/openal-soft/build" --config ${{env.Configuration}} | |
| - name: Collect binaries | |
| run: | | |
| mkdir "DSOAL" | |
| mkdir "DSOAL/Documentation" | |
| move "${{github.workspace}}/build/${{env.Configuration}}/dsound.dll" "DSOAL/dsound.dll" | |
| move "${{github.workspace}}/openal-soft/build/${{env.Configuration}}/soft_oal.dll" "DSOAL/dsoal-aldrv.dll" | |
| copy "${{github.workspace}}/openal-soft/alsoftrc.sample" "DSOAL/alsoft.ini" | |
| copy "${{github.workspace}}/README.md" "DSOAL/Documentation/DSOAL-ReadMe.txt" | |
| copy "${{github.workspace}}/LICENSE" "DSOAL/Documentation/DSOAL-License.txt" | |
| copy "${{github.workspace}}/fmt-11.2.0/LICENSE" "DSOAL/Documentation/DSOAL-License_fmt.txt" | |
| echo "${{env.DSOALRepo}}" >> "DSOAL/Documentation/DSOAL-Version.txt" | |
| echo "${{env.DSOALBranch}}" >> "DSOAL/Documentation/DSOAL-Version.txt" | |
| echo "${{env.DSOALCommitHash}}" >> "DSOAL/Documentation/DSOAL-Version.txt" | |
| echo "r${{env.DSOALCommitCount}}" >> "DSOAL/Documentation/DSOAL-Version.txt" | |
| echo "${{env.DSOALCommitTitle}}" >> "DSOAL/Documentation/DSOAL-Version.txt" | |
| echo "${{env.DSOALCommitDate}}" >> "DSOAL/Documentation/DSOAL-Version.txt" | |
| copy "${{github.workspace}}/openal-soft/README.md" "DSOAL/Documentation/OpenALSoft-ReadMe.txt" | |
| copy "${{github.workspace}}/openal-soft/COPYING" "DSOAL/Documentation/OpenALSoft-License.txt" | |
| copy "${{github.workspace}}/openal-soft/BSD-3Clause" "DSOAL/Documentation/OpenALSoft-License_BSD-3Clause.txt" | |
| copy "${{github.workspace}}/openal-soft/LICENSE-pffft" "DSOAL/Documentation/OpenALSoft-License_PFFFT.txt" | |
| copy "${{github.workspace}}/openal-soft/ChangeLog" "DSOAL/Documentation/OpenALSoft-ChangeLog.txt" | |
| echo "${{env.OpenALSoftRepo}}" >> "DSOAL/Documentation/OpenALSoft-Version.txt" | |
| echo "${{env.OpenALSoftBranch}}" >> "DSOAL/Documentation/OpenALSoft-Version.txt" | |
| echo "${{env.OpenALSoftCommitHash}}" >> "DSOAL/Documentation/OpenALSoft-Version.txt" | |
| echo "r${{env.OpenALSoftCommitCount}}" >> "DSOAL/Documentation/OpenALSoft-Version.txt" | |
| echo "${{env.OpenALSoftCommitTitle}}" >> "DSOAL/Documentation/OpenALSoft-Version.txt" | |
| echo "${{env.OpenALSoftCommitDate}}" >> "DSOAL/Documentation/OpenALSoft-Version.txt" | |
| - name: Upload artifact to GitHub actions | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: DSOAL_r${{env.DSOALCommitCount}}-${{env.DSOALCommitHashShort}}+OpenALSoft_r${{env.OpenALSoftCommitCount}}-${{env.OpenALSoftCommitHashShort}}-${{matrix.config.name}} | |
| path: DSOAL/ | |
| outputs: | |
| DSOALRepo: ${{env.DSOALRepo}} | |
| DSOALBranch: ${{env.DSOALBranch}} | |
| DSOALCommitHash: ${{env.DSOALCommitHash}} | |
| DSOALCommitHashShort: ${{env.DSOALCommitHashShort}} | |
| DSOALCommitCount: ${{env.DSOALCommitCount}} | |
| DSOALCommitTitle: ${{env.DSOALCommitTitle}} | |
| DSOALCommitDate: ${{env.DSOALCommitDate}} | |
| OpenALSoftRepo: ${{env.OpenALSoftRepo}} | |
| OpenALSoftBranch: ${{env.OpenALSoftBranch}} | |
| OpenALSoftCommitHash: ${{env.OpenALSoftCommitHash}} | |
| OpenALSoftCommitHashShort: ${{env.OpenALSoftCommitHashShort}} | |
| OpenALSoftCommitCount: ${{env.OpenALSoftCommitCount}} | |
| OpenALSoftCommitTitle: ${{env.OpenALSoftCommitTitle}} | |
| OpenALSoftCommitDate: ${{env.OpenALSoftCommitDate}} | |
| Release: | |
| needs: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download build artifacts | |
| run: | | |
| gh run download ${{github.run_id}} --repo ${{env.DSOALRepo}} --dir Release | |
| - name: Collect binaries | |
| run: | | |
| mv "Release/DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}-${{needs.Build.outputs.DSOALCommitHashShort}}+OpenALSoft_r${{needs.Build.outputs.OpenALSoftCommitCount}}-${{needs.Build.outputs.OpenALSoftCommitHashShort}}-Win32" "Release/Win32" | |
| mv "Release/DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}-${{needs.Build.outputs.DSOALCommitHashShort}}+OpenALSoft_r${{needs.Build.outputs.OpenALSoftCommitCount}}-${{needs.Build.outputs.OpenALSoftCommitHashShort}}-Win64" "Release/Win64" | |
| mkdir "Release/DSOAL" | |
| mv "Release/Win32" "Release/DSOAL/Win32" | |
| mv "Release/Win64" "Release/DSOAL/Win64" | |
| mv "Release/DSOAL/Win32/Documentation" "Release/DSOAL/Documentation" | |
| rm -r "Release/DSOAL/Win64/Documentation" | |
| curl https://raw.githubusercontent.com/kcat/openal-soft/master/logging/log.cmd -o "Release/DSOAL/Win32/log.cmd" | |
| curl https://raw.githubusercontent.com/kcat/openal-soft/master/logging/log.cmd -o "Release/DSOAL/Win64/log.cmd" | |
| cp -R "Release/DSOAL" "Release/DSOAL+HRTF" | |
| mv "Release/DSOAL+HRTF/Win32/alsoft.ini" "Release/DSOAL+HRTF/Documentation/alsoft.ini" | |
| rm "Release/DSOAL+HRTF/Win64/alsoft.ini" | |
| curl https://raw.githubusercontent.com/${{needs.Build.outputs.OpenALSoftRepo}}/${{needs.Build.outputs.OpenALSoftBranch}}/configs/HRTF/alsoft.ini -o "Release/DSOAL+HRTF/Win32/alsoft.ini" | |
| cp "Release/DSOAL+HRTF/Win32/alsoft.ini" "Release/DSOAL+HRTF/Win64/alsoft.ini" | |
| - name: Compress artifacts | |
| run: | | |
| 7z a ./Release/DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}.zip ./Release/DSOAL ./Release/DSOAL+HRTF -m0=Copy | |
| 7z a DSOAL.zip ./Release/DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}.zip -mx=9 | |
| 7z a DSOAL.7z ./Release/DSOAL ./Release/DSOAL+HRTF -mx=9 -m0=lzma2 | |
| cp DSOAL.zip DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}.zip | |
| cp DSOAL.7z DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}.7z | |
| - name: Purge tag - latest-${{needs.Build.outputs.DSOALBranch}} | |
| run: | | |
| gh release delete latest-${{needs.Build.outputs.DSOALBranch}} --repo ${{env.DSOALRepo}} --cleanup-tag --yes || true | |
| - name: Release - archive | |
| run: | | |
| gh release create archive --repo ${{env.DSOALRepo}} --target 98584ab11d231d36488bc055bdeb19b607706bc6 --latest=false --prerelease --title "DSOAL build archive" || true | |
| gh release upload archive --repo ${{env.DSOALRepo}} --clobber DSOAL_r${{needs.Build.outputs.DSOALCommitCount}}.zip | |
| - name: Release - latest-${{needs.Build.outputs.DSOALBranch}} | |
| run: | | |
| gh release create latest-${{needs.Build.outputs.DSOALBranch}} --repo ${{env.DSOALRepo}} --target ${{needs.Build.outputs.DSOALCommitHash}} --generate-notes --latest=true --prerelease --title "DSOAL r${{needs.Build.outputs.DSOALCommitCount}} + OpenAL Soft r${{needs.Build.outputs.OpenALSoftCommitCount}}" --notes "DSOAL r${{needs.Build.outputs.DSOALCommitCount}}-${{needs.Build.outputs.DSOALCommitHashShort}} ${{needs.Build.outputs.DSOALBranch}} - ${{needs.Build.outputs.DSOALCommitTitle}} [${{needs.Build.outputs.DSOALCommitDate}}] | |
| OpenAL Soft r${{needs.Build.outputs.OpenALSoftCommitCount}}-${{needs.Build.outputs.OpenALSoftCommitHashShort}} ${{needs.Build.outputs.OpenALSoftBranch}} - ${{needs.Build.outputs.OpenALSoftCommitTitle}} [${{needs.Build.outputs.OpenALSoftCommitDate}}] | |
| Build log: https://github.com/${{env.DSOALRepo}}/actions/runs/${{github.run_id}}" | |
| gh release upload latest-${{needs.Build.outputs.DSOALBranch}} --repo ${{env.DSOALRepo}} --clobber DSOAL.zip DSOAL.7z |