name: JIT on: push jobs: build: name: "${{ matrix.config.name }} ${{ matrix.version }}" runs-on: ${{ matrix.config.os }} timeout-minutes: 10 strategy: fail-fast: false matrix: version: [ 3.1.11 ] config: - { name: "Windows", os: windows-latest, score: "win64.exe", sdk: windows-sdk.zip, } - { name: "Ubuntu", os: ubuntu-latest, score: "linux-amd64.AppImage", sdk: linux-sdk.zip, } - { name: "macOS", os: macos-latest, score: "macOS.dmg", sdk: mac-sdk.zip, } steps: - name: Checkout code uses: actions/checkout@v3 with: submodules: "recursive" - name: Download score shell: bash run: | SCORE_FILENAME=ossia.score-${{ matrix.version }}-${{ matrix.config.score }} curl -L -O "https://github.com/ossia/score/releases/download/v${{ matrix.version }}/$SCORE_FILENAME" - name: Install score if: matrix.config.name == 'macOS' shell: bash run: | SCORE_FILENAME=ossia.score-${{ matrix.version }}-${{ matrix.config.score }} /usr/bin/hdiutil convert -quiet $SCORE_FILENAME -format UDTO -o score /usr/bin/hdiutil attach -quiet -nobrowse -noverify -noautoopen -mountpoint /Volumes/score score.cdr ls /Volumes ls /Volumes/score - name: Install score if: matrix.config.name == 'Windows' shell: bash run: | SCORE_FILENAME=ossia.score-${{ matrix.version }}-${{ matrix.config.score }} 7z x $SCORE_FILENAME - name: Download SDK shell: bash run: | SDK_FILENAME=${{ matrix.config.sdk }} curl -L -O "https://github.com/ossia/score/releases/download/v${{ matrix.version }}/$SDK_FILENAME" mkdir -p "$HOME/Documents/ossia/score/sdk" unzip -qq "$SDK_FILENAME" -d "$HOME/Documents/ossia/score/sdk/${{ matrix.version }}" - name: Compile if: matrix.config.name == 'macOS' shell: bash run: | SCORE_FILENAME=/Volumes/score/score.app/Contents/MacOS/score find . -name '*.hpp' -exec $SCORE_FILENAME --no-gui --compile-addon {} \; - name: Compile if: matrix.config.name == 'Windows' shell: bash run: | SCORE_FILENAME=./score.exe export SCORE_JIT_SDK="$PWD/sdk/usr" export QT_FORCE_STDERR_LOGGING=1 export QT_ASSUME_STDERR_HAS_CONSOLE=1 find . -name '*.hpp' -exec $SCORE_FILENAME --no-gui --compile-addon {} \; - name: Compile if: matrix.config.name == 'Ubuntu' shell: bash run: | sudo apt -y install xvfb libasound2 libxcb1 libegl1 libgl1-mesa-dev libegl1-mesa-dev libglvnd0 libx11-6 libxcb-glx0 libgl1 libdbus-1-3 libxcb-xkb1 libxkbcommon-x11-0 libxcb-xkb1 libfuse2 SCORE_FILENAME=ossia.score-${{ matrix.version }}-${{ matrix.config.score }} chmod +x $SCORE_FILENAME find . -name '*.hpp' -exec xvfb-run --auto-servernum ./$SCORE_FILENAME --no-gui --compile-addon {} \; build_head: name: "${{ matrix.config.name }} (latest)" runs-on: ${{ matrix.config.os }} timeout-minutes: 10 strategy: fail-fast: false matrix: config: - { name: "Windows", os: windows-latest, score: "win64.exe", sdk: windows-sdk.zip, } - { name: "Ubuntu", os: ubuntu-latest, score: "linux-amd64.AppImage", sdk: linux-sdk.zip, } - { name: "macOS", os: macos-latest, score: "macOS.dmg", sdk: mac-sdk.zip, } steps: - name: Checkout code uses: actions/checkout@v3 with: submodules: "recursive" - name: Download score shell: bash run: | SCORE_FILENAME=ossia.score-master-${{ matrix.config.score }} curl -L -O "https://github.com/ossia/score/releases/download/continuous/$SCORE_FILENAME" - name: Install score if: matrix.config.name == 'macOS' shell: bash run: | SCORE_FILENAME=ossia.score-master-${{ matrix.config.score }} /usr/bin/hdiutil convert -quiet $SCORE_FILENAME -format UDTO -o score /usr/bin/hdiutil attach -quiet -nobrowse -noverify -noautoopen -mountpoint /Volumes/score score.cdr ls /Volumes ls /Volumes/score - name: Install score if: matrix.config.name == 'Windows' shell: bash run: | SCORE_FILENAME=ossia.score-master-${{ matrix.config.score }} 7z x $SCORE_FILENAME - name: Download SDK shell: bash run: | SDK_FILENAME=${{ matrix.config.sdk }} curl -L -O "https://github.com/ossia/score/releases/download/continuous/$SDK_FILENAME" mkdir -p "$HOME/Documents/ossia/score/sdk" unzip -qq "$SDK_FILENAME" -d "sdk" - name: Compile if: matrix.config.name == 'macOS' shell: bash run: | export SCORE_JIT_SDK="$PWD/sdk/usr" SCORE_FILENAME=/Volumes/score/score.app/Contents/MacOS/score find . -name '*.hpp' -exec $SCORE_FILENAME --no-gui --compile-addon {} \; - name: Compile if: matrix.config.name == 'Windows' shell: bash run: | SCORE_FILENAME=./score.exe export SCORE_JIT_SDK="$PWD/sdk/usr" export QT_FORCE_STDERR_LOGGING=1 export QT_ASSUME_STDERR_HAS_CONSOLE=1 find . -name '*.hpp' -exec $SCORE_FILENAME --no-gui --compile-addon {} \; - name: Compile if: matrix.config.name == 'Ubuntu' shell: bash run: | sudo apt -y install xvfb libasound2 libxcb1 libegl1 libgl1-mesa-dev libegl1-mesa-dev libglvnd0 libx11-6 libxcb-glx0 libgl1 libdbus-1-3 libxcb-xkb1 libxkbcommon-x11-0 libxcb-xkb1 libfuse2 SCORE_FILENAME=ossia.score-master-${{ matrix.config.score }} export SCORE_JIT_SDK="$PWD/sdk/usr" chmod +x $SCORE_FILENAME find . -name '*.hpp' -exec xvfb-run --auto-servernum ./$SCORE_FILENAME --no-gui --compile-addon {} \;