15e5c12b0Sopenharmony_ci# See also https://docs.github.com/en/actions/learn-github-actions/expressions 25e5c12b0Sopenharmony_ci# See also https://github.com/marketplace/actions/setup-android-ndk 35e5c12b0Sopenharmony_ci 45e5c12b0Sopenharmony_ciname: CI 55e5c12b0Sopenharmony_ci 65e5c12b0Sopenharmony_cion: [push, pull_request] 75e5c12b0Sopenharmony_ci 85e5c12b0Sopenharmony_cijobs: 95e5c12b0Sopenharmony_ci build: 105e5c12b0Sopenharmony_ci runs-on: ubuntu-latest 115e5c12b0Sopenharmony_ci strategy: 125e5c12b0Sopenharmony_ci fail-fast: false 135e5c12b0Sopenharmony_ci matrix: 145e5c12b0Sopenharmony_ci build: 155e5c12b0Sopenharmony_ci - android 165e5c12b0Sopenharmony_ci - linux-gcc 175e5c12b0Sopenharmony_ci - linux-clang 185e5c12b0Sopenharmony_ci - linux-x86-gcc 195e5c12b0Sopenharmony_ci - linux-powerpc64-gcc 205e5c12b0Sopenharmony_ci - linux-mingw64-gcc 215e5c12b0Sopenharmony_ci - macos 225e5c12b0Sopenharmony_ci include: 235e5c12b0Sopenharmony_ci - build: android 245e5c12b0Sopenharmony_ci cc: clang 255e5c12b0Sopenharmony_ci host: aarch64-linux-android32 265e5c12b0Sopenharmony_ci - build: linux-gcc 275e5c12b0Sopenharmony_ci cc: gcc 285e5c12b0Sopenharmony_ci - build: linux-clang 295e5c12b0Sopenharmony_ci cc: clang 305e5c12b0Sopenharmony_ci - build: linux-x86-gcc 315e5c12b0Sopenharmony_ci cc: gcc 325e5c12b0Sopenharmony_ci arch: x86 335e5c12b0Sopenharmony_ci - build: linux-powerpc64-gcc 345e5c12b0Sopenharmony_ci cc: gcc 355e5c12b0Sopenharmony_ci host: powerpc64-linux-gnu 365e5c12b0Sopenharmony_ci - build: linux-mingw64-gcc 375e5c12b0Sopenharmony_ci cc: gcc 385e5c12b0Sopenharmony_ci host: x86_64-w64-mingw32 395e5c12b0Sopenharmony_ci cflags: -D__USE_MINGW_ANSI_STDIO 405e5c12b0Sopenharmony_ci - build: macos 415e5c12b0Sopenharmony_ci cc: clang 425e5c12b0Sopenharmony_ci os: macos-latest 435e5c12b0Sopenharmony_ci steps: 445e5c12b0Sopenharmony_ci - uses: actions/checkout@v3 455e5c12b0Sopenharmony_ci - name: Install Android NDK 465e5c12b0Sopenharmony_ci run: | 475e5c12b0Sopenharmony_ci if [ ${{matrix.build}} = android ]; then \ 485e5c12b0Sopenharmony_ci wget --quiet https://dl.google.com/android/repository/android-ndk-r24-linux.zip; \ 495e5c12b0Sopenharmony_ci unzip -q android-ndk-r24-linux.zip; \ 505e5c12b0Sopenharmony_ci fi 515e5c12b0Sopenharmony_ci - name: Install Ubuntu packages 525e5c12b0Sopenharmony_ci run: | 535e5c12b0Sopenharmony_ci sudo apt-get -q update 545e5c12b0Sopenharmony_ci case "${{matrix.host}}" in \ 555e5c12b0Sopenharmony_ci x86_64-w64-mingw32) \ 565e5c12b0Sopenharmony_ci sudo apt-get -q install -y binutils-mingw-w64 gcc-mingw-w64;; \ 575e5c12b0Sopenharmony_ci powerpc64-linux-gnu) \ 585e5c12b0Sopenharmony_ci sudo apt-get -q install -y binutils-powerpc64-linux-gnu \ 595e5c12b0Sopenharmony_ci gcc-powerpc64-linux-gnu;; \ 605e5c12b0Sopenharmony_ci esac 615e5c12b0Sopenharmony_ci - name: Build 625e5c12b0Sopenharmony_ci run: | 635e5c12b0Sopenharmony_ci echo "HOST=${{matrix.host}}" 645e5c12b0Sopenharmony_ci NDK=$PWD/android-ndk-r24/toolchains/llvm/prebuilt/linux-x86_64/bin 655e5c12b0Sopenharmony_ci export PATH="$NDK:$PATH" 665e5c12b0Sopenharmony_ci ./autogen.sh 675e5c12b0Sopenharmony_ci ./configure --host=${{matrix.host}} \ 685e5c12b0Sopenharmony_ci CC=${{ matrix.host && format('{0}-{1}', matrix.host, matrix.cc) || matrix.cc }} \ 695e5c12b0Sopenharmony_ci CFLAGS="-Wall -Wextra -Werror -Wno-sign-compare -Wno-unused-function -Wno-unused-parameter ${{matrix.cflags}}" 705e5c12b0Sopenharmony_ci make -j$(nproc) 71