Bump version to 3.5.1 #205
This file contains 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: Build | |
on: | |
push: | |
paths-ignore: | |
- "**/**.md" | |
pull_request: | |
branches: | |
- master | |
paths-ignore: | |
- "**/**.md" | |
workflow_dispatch: | |
permissions: | |
actions: none | |
checks: none | |
contents: write | |
deployments: none | |
issues: none | |
packages: read | |
pull-requests: none | |
repository-projects: none | |
security-events: none | |
statuses: read | |
defaults: | |
run: | |
shell: bash | |
env: | |
VCPKG_COMMITTISH: 01f602195983451bc83e72f4214af2cbc495aa94 | |
jobs: | |
build_windows: | |
name: Windows | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
env: | |
CMAKE_BUILD_TYPE: Release | |
CMAKE_GENERATOR: Visual Studio 17 2022 | |
VCPKG_TRIPLET: custom-triplet | |
steps: | |
- name: Checkout Git repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Setup vcpkg | |
uses: friendlyanon/setup-vcpkg@v1 | |
with: | |
committish: ${{env.VCPKG_COMMITTISH}} | |
- name: Setup Overlays | |
uses: actions/checkout@v3 | |
with: | |
repository: complexlogic/vcpkg | |
ref: refs/heads/rsgain | |
path: build/overlays | |
- name: Configure | |
run: cmake -S . -B build | |
-G "${{env.CMAKE_GENERATOR}}" | |
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" | |
-DVCPKG_MANIFEST_FEATURES="ffmpeg;libebur128;inih;" | |
-DVCPKG_OVERLAY_PORTS=build/overlays/ports | |
-DVCPKG_OVERLAY_TRIPLETS=config/vcpkg_triplets | |
-DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TRIPLET}} | |
- name: Build | |
run: | | |
cmake \ | |
--build build \ | |
--target package \ | |
--config ${{ env.CMAKE_BUILD_TYPE }} | |
build/${{env.CMAKE_BUILD_TYPE}}/rsgain.exe -v | |
- name: Upload Package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Windows build | |
path: build/*.zip | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: build/*.zip | |
build_linux: | |
name: Linux | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Debian | |
docker_image: debian:bookworm | |
package_type: DEB | |
package_ext: .deb | |
vcpkg_features: fmt; | |
- name: Fedora | |
docker_image: fedora:39 | |
package_type: RPM | |
package_ext: .rpm | |
vcpkg_features: fmt; | |
- name: Static | |
docker_image: debian:bullseye | |
package_type: TXZ | |
package_ext: .tar.xz | |
vcpkg_features: fmt;ffmpeg;libebur128;inih; | |
container: | |
image: ${{matrix.config.docker_image}} | |
env: | |
CMAKE_BUILD_TYPE: Release | |
VCPKG_TRIPLET: x64-linux | |
steps: | |
- name: Checkout Git repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: "Install dependencies" | |
run: | | |
if [[ "${{matrix.config.name}}" == "Debian" ]]; then | |
apt update && apt install -y curl zip unzip gzip tar build-essential git cmake pkg-config libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libebur128-dev libinih-dev binutils | |
fi | |
if [[ "${{matrix.config.name}}" == "Fedora" ]]; then | |
dnf install -y curl zip unzip gzip tar git make pkg-config gcc-c++ fedora-packager rpmdevtools cmake libavcodec-free-devel libavformat-free-devel libswresample-free-devel libavutil-free-devel libebur128-devel inih-devel | |
fi | |
if [[ "${{matrix.config.name}}" == "Static" ]]; then | |
apt update && apt install -y curl zip unzip tar build-essential git cmake pkg-config python3 nasm binutils | |
fi | |
- name: Setup vcpkg | |
uses: friendlyanon/setup-vcpkg@v1 | |
with: | |
committish: ${{env.VCPKG_COMMITTISH}} | |
cache-key: vcpkg-${{matrix.config.name}}-${{env.VCPKG_COMMITISH}} | |
cache-restore-keys: vcpkg-${{matrix.config.name}}-${{env.VCPKG_COMMITISH}} | |
- name: Setup Overlays | |
uses: actions/checkout@v3 | |
with: | |
repository: complexlogic/vcpkg | |
ref: refs/heads/rsgain | |
path: build/overlays | |
- name: Configure | |
run: cmake -S . -B build | |
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" | |
-DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TRIPLET}} | |
-DVCPKG_MANIFEST_FEATURES="${{matrix.config.vcpkg_features}}" | |
-DVCPKG_OVERLAY_PORTS=build/overlays/ports | |
-DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}} | |
-DCMAKE_INSTALL_PREFIX=/usr | |
-DPACKAGE=${{matrix.config.package_type}} | |
-DSTRIP_BINARY=ON | |
-DINSTALL_MANPAGE=${{matrix.config.name == 'Debian' && 'ON' || 'OFF'}} | |
- name: Build | |
run: | | |
cmake \ | |
--build build \ | |
--target package | |
build/rsgain -v | |
- name: Upload Package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{matrix.config.name}} build | |
path: build/*${{matrix.config.package_ext}} | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: build/*${{matrix.config.package_ext}} | |
token: ${{secrets.ACTIONS_SECRET}} | |
build_macos: | |
name: macOS | |
runs-on: macos-12 | |
permissions: | |
packages: write | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Intel | |
OSX_ARCH: x86_64 | |
VCPKG_TRIPLET: x64-osx | |
- name: Apple Silicon | |
OSX_ARCH: arm64 | |
VCPKG_TRIPLET: arm64-osx | |
env: | |
CMAKE_BUILD_TYPE: Release | |
steps: | |
- name: Checkout Git repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install Dependencies | |
run: brew install nasm automake autoconf-archive ninja | |
- name: Setup vcpkg | |
uses: friendlyanon/setup-vcpkg@v1 | |
with: | |
committish: ${{env.VCPKG_COMMITTISH}} | |
cache-key: vcpkg-${{matrix.config.name}}-${{env.VCPKG_COMMITISH}} | |
cache-restore-keys: vcpkg-${{matrix.config.name}}-${{env.VCPKG_COMMITISH}} | |
- name: Setup Overlays | |
uses: actions/checkout@v3 | |
with: | |
repository: complexlogic/vcpkg | |
ref: refs/heads/rsgain | |
path: build/overlays | |
- name: Configure | |
run: cmake -S . -B build | |
-DCMAKE_BUILD_TYPE=Release | |
-DCMAKE_OSX_ARCHITECTURES=${{matrix.config.OSX_ARCH}} | |
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" | |
-DVCPKG_OVERLAY_PORTS=build/overlays/ports | |
-DVCPKG_TARGET_TRIPLET=${{matrix.config.VCPKG_TRIPLET}} | |
-DVCPKG_MANIFEST_FEATURES="fmt;ffmpeg;libebur128;inih;" | |
-DSTRIP_BINARY=ON | |
-DPACKAGE=ZIP | |
-DCPACK_SYSTEM_NAME="macOS-${{matrix.config.OSX_ARCH}}" | |
- name: Build | |
run: | | |
cmake \ | |
--build build \ | |
--target package | |
- name: Test | |
if: ${{matrix.config.OSX_ARCH == 'x86_64'}} | |
run: build/rsgain -v | |
- name: Upload Package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: macOS ${{matrix.config.name}} build | |
path: build/*.zip | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: build/*.zip | |
token: ${{secrets.ACTIONS_SECRET}} |