CI workflow restyle

This commit is contained in:
redtide 2023-05-17 12:56:32 +02:00
parent 5f7cf3d624
commit a3f3274204
No known key found for this signature in database

View file

@ -1,5 +1,4 @@
name: build name: Build UIs
on: on:
push: push:
branches: branches:
@ -7,10 +6,10 @@ on:
- 'master' - 'master'
tags: tags:
- '[0-9]*' - '[0-9]*'
- 'v[0-9]*'
pull_request: pull_request:
branches: branches:
- '*' - '*'
# Manual builds in all branches
workflow_dispatch: workflow_dispatch:
branches: branches:
- '*' - '*'
@ -20,217 +19,142 @@ env:
jobs: jobs:
clang_tidy: clang_tidy:
# if: ${{ false }} # if: ${{ false }}
name: Clang Tidy
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v3 - name: Checkout
uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
- name: Set up dependencies - name: Install dependencies
run: | run: sudo apt-get update && sudo apt-get install clang-tidy
sudo apt-get update && \ - name: Run
sudo apt-get install \
clang-tidy \
libsndfile1-dev
- name: Clang Tidy
working-directory: ${{runner.workspace}}
run: cd "$GITHUB_WORKSPACE" && scripts/run_clang_tidy.sh run: cd "$GITHUB_WORKSPACE" && scripts/run_clang_tidy.sh
build_for_linux: build_for_linux:
# if: ${{ false }} # if: ${{ false }}
name: Linux Ubuntu 20.04
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: Set install name - name: Checkout
run: | uses: actions/checkout@v3
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
echo "install_name=sfizz-${GITHUB_REF##*/}-linux" >> "$GITHUB_ENV"
- uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
- name: Set up dependencies - name: Install dependencies
run: | run: |
sudo apt-get update && \ packages=(
sudo apt-get install \ libcairo2-dev
ninja-build \ libfontconfig1-dev
libjack-jackd2-dev \ libjack-jackd2-dev
libsndfile1-dev \ libpango1.0-dev
libcairo2-dev \ libx11-xcb-dev
libpango1.0-dev \ libxcb-cursor-dev
libfontconfig1-dev \
libx11-xcb-dev \
libxcb-util-dev \
libxcb-cursor-dev \
libxcb-xkb-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxcb-keysyms1-dev libxcb-keysyms1-dev
- name: Create Build Environment libxcb-util-dev
shell: bash libxcb-xkb-dev
working-directory: ${{runner.workspace}} libxkbcommon-dev
run: cmake -E make_directory build libxkbcommon-x11-dev
ninja-build
)
sudo apt-get update && sudo apt-get install "${packages[@]}"
- name: Configure CMake - name: Configure CMake
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: | run: |
cmake "$GITHUB_WORKSPACE" -G Ninja \ options=(
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \ -G Ninja
-DSFIZZ_JACK=ON \ -B build
-DSFIZZ_VST=ON \ -S "$GITHUB_WORKSPACE"
-DSFIZZ_LV2_UI=ON \ -D CMAKE_BUILD_TYPE="$BUILD_TYPE"
-DSFIZZ_PUREDATA=ON \ -D CMAKE_CXX_STANDARD=17
-DSFIZZ_TESTS=ON \ -D SFIZZ_JACK=OFF
-DSFIZZ_SHARED=OFF \ -D SFIZZ_RENDER=OFF
-DSFIZZ_STATIC_DEPENDENCIES=OFF \ -D SFIZZ_SHARED=OFF
-DSFIZZ_LV2=ON \ -D SFIZZ_LV2=ON
-DCMAKE_CXX_STANDARD=17 -D SFIZZ_LV2_UI=ON
- name: Build tests -D SFIZZ_PUREDATA=ON
if: ${{ false }} # DISABLED: Do this in library repo -D SFIZZ_VST=ON
)
cmake "${options[@]}"
- name: Build
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: cmake --build . --config "$BUILD_TYPE" -j 2 --target sfizz_tests run: cmake --build build --verbose -j 2
- name: Run tests # No custom Linux packages, build from sources or provided in distro
if: ${{ false }} # DISABLED: Do this in library repo
shell: bash
run: ${{runner.workspace}}/build/tests/sfizz_tests
# Reenable with newer cmakes
# working-directory: ${{runner.workspace}}/build
# run: ctest -j 2 -C "$BUILD_TYPE" --output-on-failure
- name: Build all
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config "$BUILD_TYPE" -j 2
- name: Install
working-directory: ${{runner.workspace}}/build
shell: bash
run: |
DESTDIR="$(pwd)/$install_name" cmake --build . --config "$BUILD_TYPE" --target install
tar czvf "$install_name".tar.gz "$install_name"
- uses: actions/upload-artifact@v3
with:
name: Linux tarball
path: ${{runner.workspace}}/build/${{env.install_name}}.tar.gz
build_with_libsndfile:
if: ${{ false }} # DISABLED: Do this in library repo
runs-on: ubuntu-20.04
steps:
- name: Set install name
run: |
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
echo "install_name=sfizz-${GITHUB_REF##*/}-linux" >> "$GITHUB_ENV"
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up dependencies
run: |
sudo apt-get update && \
sudo apt-get install \
ninja-build \
libsndfile1-dev
- name: Create Build Environment
shell: bash
working-directory: ${{runner.workspace}}
run: cmake -E make_directory build
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake "$GITHUB_WORKSPACE" -G Ninja \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
-DSFIZZ_JACK=OFF \
-DSFIZZ_VST=OFF \
-DSFIZZ_LV2_UI=OFF \
-DSFIZZ_PUREDATA=OFF \
-DSFIZZ_USE_SNDFILE=ON \
-DSFIZZ_TESTS=ON \
-DSFIZZ_SHARED=OFF \
-DSFIZZ_STATIC_DEPENDENCIES=OFF \
-DSFIZZ_LV2=OFF
- name: Build tests
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config "$BUILD_TYPE" -j 2 --target sfizz_tests
- name: Run tests
shell: bash
run: ${{runner.workspace}}/build/tests/sfizz_tests
build_for_macos: build_for_macos:
# if: ${{ false }} # if: ${{ false }}
name: macOS 11
runs-on: macos-11 runs-on: macos-11
env:
install_name: "sfizz-${{ github.ref_name }}-macos.pkg"
steps: steps:
- name: Set install name - name: Checkout
run: | uses: actions/checkout@v3
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
echo "install_name=sfizz-${GITHUB_REF##*/}-macos" >> "$GITHUB_ENV"
- uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
- name: Create Build Environment - name: Install dependencies
shell: bash if: ${{ github.ref_type == 'branch' }}
working-directory: ${{runner.workspace}} run: brew install abseil
run: cmake -E make_directory build
- name: Configure CMake - name: Configure CMake
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: | run: |
cmake "$GITHUB_WORKSPACE" \ options=(
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \ -B build
-DSFIZZ_AU=ON \ -S "$GITHUB_WORKSPACE"
-DSFIZZ_LV2=ON \ -D CMAKE_BUILD_TYPE="$BUILD_TYPE"
-DSFIZZ_LV2_UI=ON \ -D CMAKE_CXX_STANDARD=17
-DSFIZZ_VST=ON \ -D SFIZZ_SHARED=OFF
-DSFIZZ_JACK=OFF \ -D SFIZZ_AU=ON
-DSFIZZ_TESTS=ON \ -D SFIZZ_LV2=ON
-DSFIZZ_SHARED=OFF \ -D SFIZZ_LV2_UI=ON
-DSFIZZ_STATIC_DEPENDENCIES=OFF \ -D SFIZZ_VST=ON
-DCMAKE_CXX_STANDARD=17 )
- name: Build tests if [[ ${{ github.ref_type }} == 'branch' ]]; then
if: ${{ false }} # DISABLED: Do this in library repo options=(
${options[@]}
-D SFIZZ_USE_SYSTEM_ABSEIL=ON
)
fi
cmake "${options[@]}"
- name: Build
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: | run: cmake --build build --verbose -j 2
cmake --build . --config "$BUILD_TYPE" -j 2 --target sfizz_tests - name: Package bundles
- name: Run tests if: ${{ github.ref_type == 'tag' }}
if: ${{ false }} # DISABLED: Do this in library repo
shell: bash shell: bash
run: ${{runner.workspace}}/build/tests/sfizz_tests working-directory: ${{ runner.workspace }}
# Reenable with newer cmakes
# working-directory: ${{runner.workspace}}/build
# run: ctest -j 2 -C "$BUILD_TYPE" --output-on-failure
- name: Build plugins
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config "$BUILD_TYPE" -j 2
- name: Package OSX bundles
shell: bash
working-directory: ${{runner.workspace}}
run: $GITHUB_WORKSPACE/scripts/package-osx-bundles.sh run: $GITHUB_WORKSPACE/scripts/package-osx-bundles.sh
- name: Create OSX installer - name: Create installer
if: ${{ github.ref_type == 'tag' }}
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}/build
run: | run: |
productbuild \ productbuild \
--distribution $GITHUB_WORKSPACE/scripts/plugin.pkg/package.xml \ --distribution $GITHUB_WORKSPACE/scripts/plugin.pkg/package.xml \
--identifier "sfz.tools.sfizz" \ --identifier "sfz.tools.sfizz" \
--package-path "${{runner.workspace}}/build" \ --package-path "${{ runner.workspace }}/build" \
--version 0 \ --version 0 \
${{env.install_name}}.pkg ${{ env.install_name }}
- uses: actions/upload-artifact@v3 - name: Upload
if: ${{ github.ref_type == 'tag' }}
uses: actions/upload-artifact@v3
with: with:
name: macOS installer name: macOS package
path: | path: ${{ runner.workspace }}/build/${{ env.install_name }}
${{runner.workspace}}/build/${{env.install_name}}.pkg
build_for_mod: build_for_mod:
if: ${{ false }} # DISABLED: Old image which doesn't work with CMake > 3.5 if: ${{ false }} # DISABLED: Old image which doesn't work with CMake > 3.5
name: MOD
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
container: container:
image: jpcima/mod-plugin-builder image: jpcima/mod-plugin-builder
options: --user 0 options: --user 0
steps: steps:
- name: Set install name - name: Set install name
run: | run: echo "install_name=sfizz-$GITHUB_REF_NAME-moddevices" >> "$GITHUB_ENV"
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
echo "install_name=sfizz-${GITHUB_REF##*/}-moddevices" >> "$GITHUB_ENV"
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
@ -239,11 +163,11 @@ jobs:
run: ln -sf /home/builder/mod-workdir ~/mod-workdir run: ln -sf /home/builder/mod-workdir ~/mod-workdir
- name: Create Build Environment - name: Create Build Environment
shell: bash shell: bash
working-directory: ${{runner.workspace}} working-directory: ${{ runner.workspace }}
run: mod-plugin-builder /usr/local/bin/cmake -E make_directory build run: mod-plugin-builder /usr/local/bin/cmake -E make_directory build
- name: Configure CMake - name: Configure CMake
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}/build
run: | run: |
mod-plugin-builder /usr/local/bin/cmake "$GITHUB_WORKSPACE" \ mod-plugin-builder /usr/local/bin/cmake "$GITHUB_WORKSPACE" \
-DPROJECT_SYSTEM_PROCESSOR=armv7-a \ -DPROJECT_SYSTEM_PROCESSOR=armv7-a \
@ -253,21 +177,23 @@ jobs:
-DSFIZZ_LV2_UI=OFF -DSFIZZ_LV2_UI=OFF
- name: Build - name: Build
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}/build
run: mod-plugin-builder /usr/local/bin/cmake --build . --config "$BUILD_TYPE" -- -j 2 run: mod-plugin-builder /usr/local/bin/cmake --build . --config "$BUILD_TYPE" -- -j 2
- name: Install - name: Install
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}/build
shell: bash shell: bash
run: | run: |
DESTDIR="$(pwd)/$install_name" mod-plugin-builder /usr/local/bin/cmake --build . --config "$BUILD_TYPE" --target install DESTDIR="$(pwd)/$install_name" mod-plugin-builder /usr/local/bin/cmake --build . --config "$BUILD_TYPE" --target install
tar czvf "$install_name".tar.gz "$install_name" tar czvf "$install_name".tar.gz "$install_name"
- uses: actions/upload-artifact@v3 - name: Upload
uses: actions/upload-artifact@v3
with: with:
name: MOD devices tarball name: MOD devices tarball
path: ${{runner.workspace}}/build/${{env.install_name}}.tar.gz path: ${{ runner.workspace }}/build/${{ env.install_name }}.tar.gz
build_for_windows: build_for_windows:
# if: ${{ false }} # if: ${{ false }}
name: Windows 2019
runs-on: windows-2019 runs-on: windows-2019
strategy: strategy:
matrix: matrix:
@ -280,52 +206,59 @@ jobs:
pkg_platform: Win64 pkg_platform: Win64
release_arch: x64 release_arch: x64
bits: 64 bits: 64
env:
install_name: sfizz-${{ github.ref_name }}-win${{ matrix.bits }}
steps: steps:
- name: Set install name - name: Checkout
run: | uses: actions/checkout@v3
echo "install_ref=$(${Env:GITHUB_REF}.split('/')[-1])" >> "${Env:GITHUB_ENV}"
echo "install_name=sfizz-$(${Env:GITHUB_REF}.split('/')[-1])-win${{matrix.bits}}" >> "${Env:GITHUB_ENV}"
- uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
- name: Create Build Environment
working-directory: ${{runner.workspace}}
run: cmake -E make_directory build
- name: Configure CMake - name: Configure CMake
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: | run: |
cmake "${Env:GITHUB_WORKSPACE}" -G"Visual Studio 16 2019" -A"${{matrix.release_arch}}" -DCMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" -DCMAKE_CXX_STANDARD=17 -DSFIZZ_TESTS=ON -DSFIZZ_VST=ON -DSFIZZ_LV2=ON -DSFIZZ_PUREDATA=ON cmake `
- name: Build tests -G "Visual Studio 16 2019" `
if: ${{ false }} # DISABLED: Do this in library repo -A "${{ matrix.release_arch }}" `
working-directory: ${{runner.workspace}}/build -B build `
run: cmake --build . --config "${Env:BUILD_TYPE}" -j 2 --target sfizz_tests -S "${Env:GITHUB_WORKSPACE}" `
- name: Test -D CMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" `
if: ${{ false }} # DISABLED: Do this in library repo -D CMAKE_CXX_STANDARD=17 `
run: ${{runner.workspace}}/build/tests/Release/sfizz_tests -D SFIZZ_LV2=ON `
- name: Build all -D SFIZZ_PUREDATA=ON `
working-directory: ${{runner.workspace}}/build -D SFIZZ_VST=ON `
run: cmake --build . --config "${Env:BUILD_TYPE}" -j 2 - name: Build
working-directory: ${{ runner.workspace }}
run: cmake --build build -j 2
- name: Install pluginval - name: Install pluginval
if: ${{ matrix.platform == 'x64' }} if: ${{ matrix.platform == 'x64' }}
run: | run: |
Invoke-WebRequest https://github.com/Tracktion/pluginval/releases/download/latest_release/pluginval_Windows.zip -OutFile pluginval.zip Invoke-WebRequest `
https://github.com/Tracktion/pluginval/releases/download/latest_release/pluginval_Windows.zip `
-OutFile pluginval.zip
Expand-Archive pluginval.zip -DestinationPath pluginval Expand-Archive pluginval.zip -DestinationPath pluginval
echo "$(Get-Location)\pluginval" | Out-File -FilePath ${Env:GITHUB_PATH} -Encoding utf8 -Append echo "$(Get-Location)\pluginval" | Out-File `
-FilePath ${Env:GITHUB_PATH} `
-Encoding utf8 `
-Append
pluginval\pluginval --version pluginval\pluginval --version
- name: Validate VST3 - name: Validate VST3
if: ${{ matrix.platform == 'x64' }} if: ${{ matrix.platform == 'x64' }}
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}/build
run: pluginval --validate-in-process --validate sfizz.vst3 run: pluginval --validate-in-process --validate sfizz.vst3
- name: Create installer - name: Create installer
working-directory: ${{runner.workspace}}/build if: ${{ github.ref_type == 'tag' }}
run: iscc /O"." /F"${Env:install_name}" /dARCH="${{matrix.platform}}" innosetup.iss working-directory: ${{ runner.workspace }}/build
- uses: actions/upload-artifact@v3 run: iscc /O"." /F"${Env:install_name}" /dARCH="${{ matrix.platform }}" innosetup.iss
- name: Upload
if: ${{ github.ref_type == 'tag' }}
uses: actions/upload-artifact@v3
with: with:
name: ${{matrix.pkg_platform}} installer name: ${{ matrix.pkg_platform }} installer
path: ${{runner.workspace}}/build/${{env.install_name}}.exe path: ${{ runner.workspace }}/build/${{ env.install_name }}.exe
build_for_mingw: build_for_mingw:
if: ${{ false }} # DISABLED TEMPORARILY if: ${{ false }} # DISABLED TEMPORARILY
name: MinGW
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy: strategy:
matrix: matrix:
@ -338,11 +271,9 @@ jobs:
bits: 64 bits: 64
container: container:
image: archlinux image: archlinux
env:
install_name: sfizz-${{ github.ref_name }}-mingw${{ matrix.bits }}
steps: steps:
- name: Set install name
run: |
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
echo "install_name=sfizz-${GITHUB_REF##*/}-mingw${{matrix.bits}}" >> "$GITHUB_ENV"
- name: Configure pacman repositories - name: Configure pacman repositories
shell: bash shell: bash
run: | run: |
@ -353,11 +284,15 @@ jobs:
SigLevel = Optional TrustAll SigLevel = Optional TrustAll
Server = https://github.com/jpcima/arch-mingw-w64/releases/download/repo.\$arch/ Server = https://github.com/jpcima/arch-mingw-w64/releases/download/repo.\$arch/
EOF EOF
- name: Set up dependencies - name: Install dependencies
shell: bash shell: bash
run: | run: |
packages=(
base-devel git ninja wget
mingw-w64-{cmake,gcc,pkg-config,libsndfile}
)
pacman -Sqyu --noconfirm pacman -Sqyu --noconfirm
pacman -Sq --needed --noconfirm base-devel git wget ninja mingw-w64-cmake mingw-w64-gcc mingw-w64-pkg-config mingw-w64-libsndfile pacman -Sq --needed --noconfirm "${packages[@]}"
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
@ -365,120 +300,132 @@ jobs:
shell: bash shell: bash
run: | run: |
cp -vf "$GITHUB_WORKSPACE"/scripts/mingw_dwrite_3.h \ cp -vf "$GITHUB_WORKSPACE"/scripts/mingw_dwrite_3.h \
/usr/${{matrix.platform}}-w64-mingw32/include/dwrite_3.h /usr/${{ matrix.platform }}-w64-mingw32/include/dwrite_3.h
- name: Create Build Environment
shell: bash
working-directory: ${{runner.workspace}}
run: cmake -E make_directory build
- name: Configure CMake - name: Configure CMake
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: | run: |
${{matrix.platform}}-w64-mingw32-cmake "$GITHUB_WORKSPACE" -G Ninja \ options=(
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \ -G Ninja
-DENABLE_LTO=OFF \ -B build
-DSFIZZ_JACK=OFF \ -S "$GITHUB_WORKSPACE"
-DSFIZZ_VST=ON \ -D CMAKE_BUILD_TYPE="$BUILD_TYPE"
-DSFIZZ_PUREDATA=ON \ -D CMAKE_CXX_STANDARD=17
-DSFIZZ_STATIC_DEPENDENCIES=ON \ -D ENABLE_LTO=OFF
-DCMAKE_CXX_STANDARD=17 -D SFIZZ_STATIC_DEPENDENCIES=ON
-D SFIZZ_JACK=OFF
-D SFIZZ_PUREDATA=ON
-D SFIZZ_VST=ON
)
${{ matrix.platform }}-w64-mingw32-cmake "${options[@]}"
- name: Build - name: Build
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{ runner.workspace }}
run: ${{matrix.platform}}-w64-mingw32-cmake --build . --config "$BUILD_TYPE" -j 2 run: ${{ matrix.platform }}-w64-mingw32-cmake --build build -j 2
- name: Install - name: Install
working-directory: ${{runner.workspace}}/build if: ${{ github.ref_type == 'tag' }}
working-directory: ${{ runner.workspace }}
shell: bash shell: bash
run: | run: |
DESTDIR="$(pwd)/$install_name" ${{matrix.platform}}-w64-mingw32-cmake --build . --config "$BUILD_TYPE" --target install DESTDIR="$(pwd)/${{ env.install_name }}" ${{ matrix.platform }}-w64-mingw32-cmake \
tar czvf "$install_name".tar.gz "$install_name" --build build --install
- uses: actions/upload-artifact@v3 tar czvf ${{ env.install_name }}.tar.gz "${{ env.install_name }}"
- name: Upload
if: ${{ github.ref_type == 'tag' }}
uses: actions/upload-artifact@v3
with: with:
name: ${{matrix.pkg_platform}} MinGW tarball name: ${{ matrix.pkg_platform }} MinGW tarball
path: ${{runner.workspace}}/build/${{env.install_name}}.tar.gz path: ${{ runner.workspace }}/build/${{ env.install_name }}.tar.gz
# build_with_makefile: MOVED in library repo
archive_source_code: archive_source_code:
# if: startsWith(github.ref, 'refs/tags/')
if: ${{ github.ref_type == 'tag' }}
name: Source code archive
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
if: startsWith(github.ref, 'refs/tags/') env:
install_name: sfizz-${{ github.ref_name }}
steps: steps:
- name: Set install name - name: Checkout
run: | uses: actions/checkout@v3
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
echo "install_name=sfizz-${GITHUB_REF##*/}" >> "$GITHUB_ENV"
- uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
- name: Set up dependencies - name: Install dependencies
run: | run: |
sudo apt-get update && \ sudo apt-get update && sudo apt-get install python3-pip
sudo apt-get install \
python3-pip
sudo pip install git-archive-all sudo pip install git-archive-all
- name: Archive source code - name: Archive source code
shell: bash shell: bash
run: | run: |
cd "$GITHUB_WORKSPACE" && \ cd "$GITHUB_WORKSPACE" && git-archive-all \
git-archive-all --prefix="${install_name}/" -9 "${{runner.workspace}}/${install_name}.tar.gz" --prefix="${{ env.install_name }}/" \
- uses: actions/upload-artifact@v3 -9 "${{ runner.workspace }}/${{ env.install_name }}.tar.gz"
- name: Upload
uses: actions/upload-artifact@v3
with: with:
name: Source code tarball name: Source code tarball
path: ${{runner.workspace}}/${{env.install_name}}.tar.gz path: ${{ runner.workspace }}/${{ env.install_name }}.tar.gz
deploy: deploy:
if: ${{ github.ref_type == 'tag' }}
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
if: startsWith(github.ref, 'refs/tags/')
needs: needs:
# - build_for_linux
# - build_for_mod # - build_for_mod
# - build_for_mingw # - build_for_mingw
- build_for_macos - build_for_macos
- build_for_windows - build_for_windows
- archive_source_code - archive_source_code
steps: steps:
- name: Set install name - name: macOS download
run: | uses: actions/download-artifact@v3
echo "install_ref=${GITHUB_REF##*/}" >> "$GITHUB_ENV"
- uses: actions/download-artifact@v3
if: ${{ false }} # DISABLED: Use distro packages
with: with:
name: Linux tarball name: macOS package
- uses: actions/download-artifact@v3
with: - name: MOD download
name: macOS installer
- uses: actions/download-artifact@v3
if: ${{ false }} # DISABLED: See comment above if: ${{ false }} # DISABLED: See comment above
uses: actions/download-artifact@v3
with: with:
name: MOD devices tarball name: MOD devices tarball
- uses: actions/download-artifact@v3
- name: MinGW 32 download
if: ${{ false }} # DISABLED: MinGW 32 build temporarily disabled if: ${{ false }} # DISABLED: MinGW 32 build temporarily disabled
uses: actions/download-artifact@v3
with: with:
name: Win32 MinGW tarball name: Win32 MinGW tarball
- uses: actions/download-artifact@v3
- name: MinGW 64 download
if: ${{ false }} # DISABLED: MinGW 64 build temporarily disabled if: ${{ false }} # DISABLED: MinGW 64 build temporarily disabled
uses: actions/download-artifact@v3
with: with:
name: Win64 MinGW tarball name: Win64 MinGW tarball
- uses: actions/download-artifact@v3
- name: Windows 32 download
uses: actions/download-artifact@v3
with: with:
name: Win32 installer name: Win32 installer
- uses: actions/download-artifact@v3
- name: Windows 64 download
uses: actions/download-artifact@v3
with: with:
name: Win64 installer name: Win64 installer
- uses: actions/download-artifact@v3
- name: Source code download
uses: actions/download-artifact@v3
with: with:
name: Source code tarball name: Source code tarball
- name: Display file information - name: Display file information
shell: bash shell: bash
run: ls -lR run: ls -lR
- uses: softprops/action-gh-release@v1
- name: Release
uses: softprops/action-gh-release@v1
env: env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
tag_name: ${{env.install_ref}} tag_name: ${{ github.ref_name }}
name: Release ${{env.install_ref}} name: Release ${{ github.ref_name }}
draft: false draft: false
prerelease: false prerelease: false
files: | files: |
sfizz-${{env.install_ref}}-* sfizz-${{ github.ref_name }}-*
sfizz-${{env.install_ref}}.* sfizz-${{ github.ref_name }}.*