#
#  Copyright (c) 2020, The OpenThread Authors.
#  All rights reserved.
#
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions are met:
#  1. Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
#  2. Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#  3. Neither the name of the copyright holder nor the
#     names of its contributors may be used to endorse or promote products
#     derived from this software without specific prior written permission.
#
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#  POSSIBILITY OF SUCH DAMAGE.
#

name: Build

on: [push, pull_request]

jobs:

  cancel-previous-runs:
    runs-on: ubuntu-latest
    steps:
    - uses: rokroskar/workflow-run-cleanup-action@master
      env:
        GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
      if: "github.ref != 'refs/heads/master'"

  pretty:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get remove -y clang-6.0 libclang-common-6.0-dev libclang1-6.0 libllvm6.0
        sudo apt-get autoremove
        sudo apt-get --no-install-recommends install -y clang-tools clang-format-6.0 shellcheck
        python3 -m pip install yapf==0.29.0
        sudo snap install shfmt
    - name: Check
      run: |
        script/make-pretty check

  cmake-version:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        sudo pip3 install --system -U cmake==3.10.3
        cmake --version | grep 3.10.3
        sudo apt-get --no-install-recommends install -y ninja-build libreadline-dev libncurses-dev
    - name: Build
      run: |
        NODE_MODE=rcp ./script/test build

  package:
    name: package-${{ matrix.compiler }}
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        include:
          - compiler: gcc
            compiler_c: gcc
            compiler_cpp: g++
          - compiler: clang
            compiler_c: clang
            compiler_cpp: clang++
    env:
      CC: ${{ matrix.compiler_c }}
      CXX: ${{ matrix.compiler_cpp }}
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get --no-install-recommends install -y ninja-build libreadline-dev libncurses-dev
    - name: Package
      run: |
        script/test package

  scan-build:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get remove -y clang-6.0 libclang-common-6.0-dev libclang1-6.0 libllvm6.0
        sudo apt-get autoremove
        sudo apt-get --no-install-recommends install -y clang-tools
    - name: Run
      run: |
        script/check-scan-build

  arm-gcc:
    name: arm-gcc-${{ matrix.gcc_ver }}
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        include:
          - gcc_ver: 4
            gcc_download_url: https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
            gcc_extract_dir: gcc-arm-none-eabi-4_9-2015q3
          - gcc_ver: 5
            gcc_download_url: https://developer.arm.com/-/media/Files/downloads/gnu-rm/5_4-2016q3/gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
            gcc_extract_dir: gcc-arm-none-eabi-5_4-2016q3
          - gcc_ver: 6
            gcc_download_url: https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
            gcc_extract_dir: gcc-arm-none-eabi-6-2017-q2-update
          - gcc_ver: 7
            gcc_download_url: https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
            gcc_extract_dir: gcc-arm-none-eabi-7-2018-q2-update
          - gcc_ver: 9
            gcc_download_url: https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/RC2.1/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
            gcc_extract_dir: gcc-arm-none-eabi-9-2019-q4-major
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        cd /tmp
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get --no-install-recommends install -y lib32z1 ninja-build
        wget ${{ matrix.gcc_download_url }} -O gcc-arm.tar.bz2
        tar xjf gcc-arm.tar.bz2

        # required for jn5189 and k32w061
        pip install pycryptodome
    - name: Build
      run: |
        export PATH=/tmp/${{ matrix.gcc_extract_dir }}/bin:$PATH
        script/check-arm-build

  gcc:
    name: gcc-${{ matrix.gcc_ver }}
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        gcc_ver: [5, 6, 7, 8, 9]
    env:
      CC: gcc-${{ matrix.gcc_ver }}
      CXX: g++-${{ matrix.gcc_ver }}
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get --no-install-recommends install -y gcc-${{ matrix.gcc_ver }} g++-${{ matrix.gcc_ver }} ninja-build libreadline-dev libncurses-dev
    - name: Build
      run: |
        script/check-simulation-build
        script/check-posix-build

  clang:
    name: clang-${{ matrix.clang_ver }}
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        clang_ver: ["6.0", "7", "8", "9"]
    env:
      CC: clang-${{ matrix.clang_ver }}
      CXX: clang++-${{ matrix.clang_ver }}
    steps:
      - uses: actions/checkout@v2
      - name: Bootstrap
        run: |
          sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
          sudo apt-get --no-install-recommends install -y clang-${{ matrix.clang_ver }} clang++-${{ matrix.clang_ver }} ninja-build libreadline-dev libncurses-dev
      - name: Build
        run: |
          script/check-simulation-build
          script/check-posix-build

  clang-m32:
    name: clang-m32-${{ matrix.clang_ver }}
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        clang_ver: ["6.0", "7", "8", "9"]
    env:
      CC: clang-${{ matrix.clang_ver }}
      CXX: clang++-${{ matrix.clang_ver }}
      CFLAGS: -m32 -Wconversion
      CXXFLAGS: -m32 -Wconversion
      LDFLAGS: -m32
    steps:
      - uses: actions/checkout@v2
      - name: Bootstrap
        run: |
          sudo dpkg --add-architecture i386
          sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
          sudo apt-get --no-install-recommends install -y clang-${{ matrix.clang_ver }} clang++-${{ matrix.clang_ver }} g++-multilib ninja-build
          sudo apt-get --no-install-recommends install -y libreadline-dev:i386 libncurses-dev:i386
      - name: Build
        run: |
          script/check-simulation-build
          script/check-posix-build

  gn:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get --no-install-recommends install -y ninja-build
        cd /tmp
        wget -O gn.zip https://chrome-infra-packages.appspot.com/dl/gn/gn/linux-amd64/+/latest
        unzip -o gn.zip
        chmod a+x gn && mkdir -p bin && mv -f gn bin/
    - name: Build
      run: |
        export PATH=/tmp/bin:$PATH
        script/check-gn-build

  macos-clang:
    runs-on: macos-10.15
    env:
      CC: clang
      CXX: clang++
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        brew install automake ninja llvm
    - name: Build
      run: |
        script/check-posix-build
        script/check-simulation-build

  macos-gcc:
    runs-on: macos-10.15
    env:
      CC: gcc
      CXX: g++
    steps:
    - uses: actions/checkout@v2
    - name: Bootstrap
      run: |
        brew install automake ninja
    - name: Build
      run: |
        script/check-posix-build
        script/check-simulation-build

  android:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
    - name: Build
      run: |
        docker run --rm -v $PWD:/build/openthread openthread/android-trusty /build/openthread/script/check-android-build
