Skip to content

Test

Test #422

Workflow file for this run

name: Build
on: push
defaults:
run:
shell: bash
jobs:
Build:
strategy:
max-parallel: 15
fail-fast: false
matrix:
include:
- os: macos-12
arch: x64
env: Mac
runs-on: ${{ matrix.os }}
env:
OS: ${{ matrix.env }}
IS_RELEASE: ${{ startsWith(github.ref, 'refs/tags/') }}
steps:
- uses: actions/checkout@v3
- name: "Setup Directories"
run: mkdir -p output output/lib output/include output/lc_licenses
- name: "Configure Arguments: Common"
run: |
echo "OUTPUT_DIR=$(pwd -W 2>/dev/null || pwd)/output" >> $GITHUB_ENV
platforms/common.sh
- name: "Configure Arguments: OS"
run: |
platforms/${{ matrix.env }}.sh
- name: "Configure Arguments: Architecture"
run: |
platforms/${{ matrix.env }}-${{ matrix.arch }}.sh
- name: "Set CMake paths"
run: |
echo "CMAKE_CONFIGURE_ARGS=$CMAKE_CONFIGURE_ARGS -DCMAKE_INSTALL_PREFIX=$OUTPUT_DIR -DCMAKE_PREFIX_PATH=$OUTPUT_DIR" >> $GITHUB_ENV
echo "MESON_CONFIGURE_ARGS=$MESON_CONFIGURE_ARGS --prefix $OUTPUT_DIR -Dlibdir=$OUTPUT_DIR/lib -Dbuildtype=release" >> $GITHUB_ENV
- name: "Windows: Setup VS Dev Environment"
if: ${{ matrix.env == 'Windows' }}
uses: seanmiddleditch/gha-setup-vsdevenv@v3
with:
arch: ${{ env.VS_ARCH }}
- name: "Linux: Setup packages"
if: ${{ matrix.env == 'Linux' }}
run: |
$CHROOT sudo add-apt-repository ppa:savoury1/build-tools
$CHROOT sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$CHROOT sudo apt-get update
DEBIAN_FRONTEND=noninteractive $CHROOT sudo apt-get -y --no-install-recommends install libgl-dev libasound2-dev libpulse-dev curl nasm meson ninja-build libffi-dev
- name: Build zlib
run: |
scripts/build.sh zlib
- name: Build non-Windows
if: ${{ matrix.env != 'Windows' }}
run: |
scripts/build.sh libpng
scripts/build.sh libjpeg-turbo
scripts/build.sh openssl
- name: Build
run: |
scripts/build.sh catch2
scripts/build.sh libcurl
scripts/build.sh fmt
scripts/build.sh glew
scripts/build.sh libsamplerate
scripts/build.sh SDL2
scripts/build.sh spdlog
- name: Build Linux
if: ${{ matrix.env == 'Linux' }}
run: |
scripts/build.sh libffi
scripts/build.sh glib
scripts/build.sh fluidsynth
- name: Build more
run: |
scripts/build.sh libogg
scripts/build.sh libvorbis
scripts/build.sh libmodplug
scripts/build.sh mpg123
scripts/build.sh SDL2_mixer
scripts/build.sh freetype -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE
- name: Remove bin
run: $CHROOT rm -rf output/bin
- name: Extract C++/WinRT
if: ${{ matrix.env == 'Windows' }}
run: |
scripts/build.sh cppwinrt
- name: Generate old_path.txt
run: |
echo "$OUTPUT_DIR" > $OUTPUT_DIR/old_path.txt
- name: Result
run: ls -R output
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.env }}-${{ matrix.arch }}
path: |
output/*
- name: Pack
if: ${{ env.IS_RELEASE == 'true' }}
run: |
cd output
tar -czf lc_deps-${{ matrix.env }}-${{ matrix.arch }}.tar.gz *
- name: Release
uses: ncipollo/release-action@v1.11.2
if: ${{ env.IS_RELEASE == 'true' }}
with:
artifacts: output/lc_deps-${{ matrix.env }}-${{ matrix.arch }}.tar.gz
allowUpdates: true
artifactErrorsFailBuild: true
replacesArtifacts: true
generateReleaseNotes: true