capnproto

FORK: Cap'n Proto serialization/RPC system - core tools and C++ library
git clone https://git.neptards.moe/neptards/capnproto.git
Log | Files | Refs | README | LICENSE

release-test.yml (4400B)


      1 name: Release Tests
      2 
      3 on:
      4   push:
      5     branches:
      6     - master
      7     - 'release-*'
      8     - 'fix-release*'
      9 
     10 jobs:
     11   Linux:
     12     runs-on: ubuntu-latest
     13     strategy:
     14       fail-fast: false
     15       matrix:
     16         # We can only run extended tests with the default version of g++, because it has to match
     17         # the verison of g++-multilib for 32-bit cross-compilation, and alternate versions of
     18         # g++-multilib generally aren't available. Clang is more lenient, but we might as well be
     19         # consistent. The quick tests should be able to catch issues with older and newer compiler
     20         # versions.
     21         compiler: [g++, clang]
     22     steps:
     23       - uses: actions/checkout@v2
     24       - name: install dependencies
     25         run: |
     26             export DEBIAN_FRONTEND=noninteractive
     27             sudo apt-get update
     28             sudo apt-get install -y build-essential git zlib1g-dev cmake libssl-dev valgrind gcc-multilib g++-multilib ${{ matrix.compiler }}
     29       - name: super-test
     30         run: |
     31             ./super-test.sh ${{ matrix.compiler }}
     32   MacOS:
     33     runs-on: macos-latest
     34     strategy:
     35       fail-fast: false
     36     steps:
     37       - uses: actions/checkout@v2
     38       - name: install dependencies
     39         run: |
     40             brew install autoconf automake libtool pkg-config
     41       - name: super-test
     42         run: |
     43             ./super-test.sh
     44   MinGW-Wine:
     45     runs-on: ubuntu-latest
     46     strategy:
     47       fail-fast: false
     48     steps:
     49       - uses: actions/checkout@v2
     50       - name: install dependencies
     51         run: |
     52             export DEBIAN_FRONTEND=noninteractive
     53             sudo dpkg --add-architecture i386
     54             sudo apt-get update
     55             sudo apt-get install -y build-essential git cmake mingw-w64 wine-stable wine64 wine32 wine-binfmt
     56             sudo update-binfmts --import wine
     57       - name: 64-bit Build and Test
     58         run: |
     59             ./super-test.sh mingw x86_64-w64-mingw32
     60       - name: 32-bit Build and Test
     61         run: |
     62             ./super-test.sh mingw i686-w64-mingw32
     63   cmake-packaging:
     64     runs-on: ubuntu-latest
     65     strategy:
     66       fail-fast: false
     67     steps:
     68       - uses: actions/checkout@v2
     69       - name: install dependencies
     70         run: |
     71             export DEBIAN_FRONTEND=noninteractive
     72             sudo apt-get install -y build-essential git cmake
     73       - name: autotools-shared
     74         run: |
     75             ./super-test.sh cmake-package autotools-shared
     76       - name: autotools-static
     77         run: |
     78             ./super-test.sh cmake-package autotools-static
     79       - name: cmake-shared
     80         run: |
     81             ./super-test.sh cmake-package cmake-shared
     82       - name: cmake-static
     83         run: |
     84             ./super-test.sh cmake-package cmake-static
     85   Android:
     86     runs-on: ubuntu-latest
     87     strategy:
     88       fail-fast: false
     89     steps:
     90       - uses: actions/checkout@v2
     91       - name: install dependencies
     92         run: |
     93             export DEBIAN_FRONTEND=noninteractive
     94             sudo apt-get install -y build-essential git
     95       - name: fetch Android tools
     96         if: steps.cache-android-sdk.outputs.cache-hit != 'true'
     97         run: |
     98             # The installed Android SDK is broken.
     99             unset ANDROID_SDK_ROOT
    100             unset ANDROID_HOME
    101 
    102             mkdir android-sdk
    103             cd android-sdk
    104             curl -o commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip
    105             unzip commandlinetools.zip
    106             (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
    107       - name: 32-bit Build and Test
    108         run: |
    109             # The installed Android SDK is broken.
    110             unset ANDROID_SDK_ROOT
    111             unset ANDROID_HOME
    112 
    113             echo | android-sdk/tools/bin/avdmanager create avd -n capnp -k 'system-images;android-25;google_apis;armeabi-v7a' -b google_apis/armeabi-v7a
    114 
    115             # avdmanager seems to set image.sysdir.1 incorrectly in the AVD's config.ini, which
    116             # causes the emulator to fail. I don't know why. I don't know how to fix it, other than
    117             # to patch the config like so.
    118             sed -i -re 's,^image\.sysdir\.1=android-sdk/,image.sysdir.1=,g' $HOME/.android/avd/capnp.avd/config.ini
    119 
    120             ./super-test.sh android $PWD/android-sdk arm-linux-androideabi armv7a-linux-androideabi24