You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
5.0 KiB
YAML
131 lines
5.0 KiB
YAML
name: Release Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- 'release-*'
|
|
- 'fix-release*'
|
|
|
|
jobs:
|
|
Linux:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# We can only run extended tests with the default version of g++, because it has to match
|
|
# the version of g++-multilib for 32-bit cross-compilation, and alternate versions of
|
|
# g++-multilib generally aren't available. Clang is more lenient, but we might as well be
|
|
# consistent. The quick tests should be able to catch issues with older and newer compiler
|
|
# versions.
|
|
compiler: [g++, clang]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential git zlib1g-dev cmake libssl-dev valgrind gcc-multilib g++-multilib ${{ matrix.compiler }}
|
|
- name: super-test
|
|
run: |
|
|
./super-test.sh ${{ matrix.compiler }}
|
|
MacOS:
|
|
runs-on: macos-latest
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: install dependencies
|
|
run: |
|
|
brew install autoconf automake libtool pkg-config
|
|
- name: super-test
|
|
run: |
|
|
./super-test.sh
|
|
MinGW-Wine:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
# See: https://github.com/actions/virtual-environments/issues/4589#issuecomment-1100899313
|
|
# GitHub's Ubuntu image installs all kinds of stuff from non-Ubuntu repositories which cause
|
|
# conflicts with Ubuntu packages ultimately preventing installation of wine32. Let's try to
|
|
# fix that...
|
|
- name: remove unwanted packages and repositories
|
|
run: |
|
|
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
|
|
sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo dpkg --add-architecture i386
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential git cmake mingw-w64 wine-stable wine64 wine32 wine-binfmt
|
|
sudo update-binfmts --import wine
|
|
- name: 64-bit Build and Test
|
|
run: |
|
|
./super-test.sh mingw x86_64-w64-mingw32
|
|
- name: 32-bit Build and Test
|
|
run: |
|
|
./super-test.sh mingw i686-w64-mingw32
|
|
cmake-packaging:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt-get install -y build-essential git cmake
|
|
- name: autotools-shared
|
|
run: |
|
|
./super-test.sh cmake-package autotools-shared
|
|
- name: autotools-static
|
|
run: |
|
|
./super-test.sh cmake-package autotools-static
|
|
- name: cmake-shared
|
|
run: |
|
|
./super-test.sh cmake-package cmake-shared
|
|
- name: cmake-static
|
|
run: |
|
|
./super-test.sh cmake-package cmake-static
|
|
Android:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt-get install -y build-essential git
|
|
- name: fetch Android tools
|
|
if: steps.cache-android-sdk.outputs.cache-hit != 'true'
|
|
run: |
|
|
# The installed Android SDK is broken.
|
|
unset ANDROID_SDK_ROOT
|
|
unset ANDROID_HOME
|
|
|
|
mkdir android-sdk
|
|
cd android-sdk
|
|
curl -o commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip
|
|
unzip commandlinetools.zip
|
|
(yes || true) | tools/bin/sdkmanager --sdk_root=$PWD platform-tools 'platforms;android-25' 'system-images;android-25;google_apis;armeabi-v7a' emulator 'build-tools;25.0.2' ndk-bundle
|
|
- name: 32-bit Build and Test
|
|
run: |
|
|
# The installed Android SDK is broken.
|
|
unset ANDROID_SDK_ROOT
|
|
unset ANDROID_HOME
|
|
|
|
echo | android-sdk/tools/bin/avdmanager create avd -n capnp -k 'system-images;android-25;google_apis;armeabi-v7a' -b google_apis/armeabi-v7a
|
|
|
|
# avdmanager seems to set image.sysdir.1 incorrectly in the AVD's config.ini, which
|
|
# causes the emulator to fail. I don't know why. I don't know how to fix it, other than
|
|
# to patch the config like so.
|
|
sed -i -re 's,^image\.sysdir\.1=android-sdk/,image.sysdir.1=,g' $HOME/.android/avd/capnp.avd/config.ini
|
|
|
|
./super-test.sh android $PWD/android-sdk arm-linux-androideabi armv7a-linux-androideabi24
|