mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-06 19:40:10 +02:00
343398be25
It didn't work, and it wouldn't really be more convenient than adding the files to the release manually anyways.
106 lines
4.0 KiB
YAML
106 lines
4.0 KiB
YAML
name: Automated builds
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
tags:
|
|
# Run when pushing version tags, since otherwise it's impossible to
|
|
# restart a successful build after pushing a tag
|
|
- '*.*.*'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
defaults:
|
|
run:
|
|
# This otherwise gets run under dash which does not support brace expansion
|
|
shell: bash
|
|
|
|
jobs:
|
|
build-bionic:
|
|
name: Build on Ubuntu 18.04
|
|
runs-on: ubuntu-latest
|
|
# This container contains everything needed to build yabridge except for
|
|
# Boost since that's not easily available and it the parts we need are
|
|
# quick to compile anyway
|
|
container: robbert/docker-yabridge:bionic
|
|
outputs:
|
|
artifact-name: ${{ env.ARCHIVE_NAME }}
|
|
# GitHub actions does not allow you to share steps between jobs and their
|
|
# yaml parser does not support anchors, so we'll have to duplicate all of
|
|
# these steps
|
|
# https://github.community/t5/GitHub-Actions/reusing-sharing-inheriting-steps-between-jobs-declarations/td-p/37849
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
# Needed for git-describe to do anything useful
|
|
- name: Fetch all git history
|
|
run: git fetch --force --prune --tags --unshallow
|
|
- name: Determine build archive name
|
|
run: |
|
|
export ARCHIVE_NAME=yabridge-$(git describe --always)-ubuntu-18.04.tar.gz
|
|
echo ::set-env "name=ARCHIVE_NAME::$ARCHIVE_NAME"
|
|
- name: Build the binaries
|
|
run: |
|
|
# Wine won't create a Wine prefix in ~/.wine because /github/home is
|
|
# not owned by the user that's executing this job
|
|
mkdir -p /tmp/prefix
|
|
export WINEPREFIX=/tmp/prefix
|
|
|
|
# Statically link to libstdc++ on Ubuntu 18.04 as we're compiling
|
|
# with a newer version of g++ than what's in the default repos
|
|
meson setup --buildtype=release --cross-file cross-wine.conf -Dwith-static-boost=true -Dwith-bitbridge=true -Dcpp_link_args='-static-libstdc++' -Dbuild.cpp_link_args='-static-libstdc++' build
|
|
ninja -C build
|
|
- name: Create an archive for the binaries
|
|
run: |
|
|
mkdir yabridge
|
|
cp build/libyabridge.so build/yabridge-{host,group}{,-32}.exe{,.so} yabridge
|
|
cp CHANGELOG.md README.md yabridge
|
|
|
|
tar -caf "$ARCHIVE_NAME" yabridge
|
|
rm -rf yabridge
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ env.ARCHIVE_NAME }}
|
|
path: ${{ env.ARCHIVE_NAME }}
|
|
|
|
build-focal:
|
|
name: Build on Ubuntu 20.04
|
|
runs-on: ubuntu-latest
|
|
# This container contains everything needed to build yabridge except for
|
|
# Boost since that's not easily available and it the parts we need are
|
|
# quick to compile anyway
|
|
container: robbert/docker-yabridge:focal
|
|
outputs:
|
|
artifact-name: ${{ env.ARCHIVE_NAME }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
# Needed for git-describe to do anything useful
|
|
- name: Fetch all git history
|
|
run: git fetch --force --prune --tags --unshallow
|
|
- name: Determine build archive name
|
|
run: |
|
|
export ARCHIVE_NAME=yabridge-$(git describe --always).tar.gz
|
|
echo ::set-env "name=ARCHIVE_NAME::$ARCHIVE_NAME"
|
|
- name: Build the binaries
|
|
run: |
|
|
# Wine won't create a Wine prefix in ~/.wine because /github/home is
|
|
# not owned by the user that's executing this job
|
|
mkdir -p /tmp/prefix
|
|
export WINEPREFIX=/tmp/prefix
|
|
|
|
meson setup --buildtype=release --cross-file cross-wine.conf -Dwith-static-boost=true -Dwith-bitbridge=true build
|
|
ninja -C build
|
|
- name: Create an archive for the binaries
|
|
run: |
|
|
mkdir yabridge
|
|
cp build/libyabridge.so build/yabridge-{host,group}{,-32}.exe{,.so} yabridge
|
|
cp CHANGELOG.md README.md yabridge
|
|
|
|
tar -caf "$ARCHIVE_NAME" yabridge
|
|
rm -rf yabridge
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ env.ARCHIVE_NAME }}
|
|
path: ${{ env.ARCHIVE_NAME }}
|