#
#  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-20.04
    steps:
    - uses: rokroskar/workflow-run-cleanup-action@master
      env:
        GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
      if: "github.ref != 'refs/heads/main'"

  pretty:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get --no-install-recommends install -y clang-format-9 clang-tidy-9 shellcheck
        python3 -m pip install yapf==0.31.0
        sudo snap install shfmt
    - name: Check
      run: |
        script/make-pretty check

  markdown-lint-check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: gaurav-nelson/github-action-markdown-link-check@v1
      with:
        use-verbose-mode: 'yes'
        max-depth: 3

  cmake-version:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - 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: |
        OT_NODE_TYPE=rcp ./script/test build

  package:
    name: package-${{ matrix.compiler }}
    runs-on: ubuntu-20.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
      with:
        submodules: true
    - 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-20.04
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - name: Bootstrap
      run: |
        sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
        sudo apt-get --no-install-recommends install -y clang-tools-9 ninja-build
    - name: Run
      run: |
        script/check-scan-build

  mbedtls3-build:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - name: Bootstrap
      run: |
        sudo apt-get --no-install-recommends install -y ninja-build libreadline-dev libncurses-dev
        rm -rf third_party/mbedtls/repo
    - uses: actions/checkout@v2
      with:
        repository: ARMmbed/mbedtls
        ref: v3.0.0
        path: third_party/mbedtls/repo
    - name: Build
      run: |
        ./script/test 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
      with:
        submodules: true
    - 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 gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
        wget --tries 4 --no-check-certificate --quiet ${{ matrix.gcc_download_url }} -O gcc-arm.tar.bz2
        tar xjf gcc-arm.tar.bz2
        # use the minimal required cmake version
        sudo pip3 install --system -U cmake==3.10.3
        cmake --version | grep 3.10.3
    - 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, 10]
    env:
      CC: gcc-${{ matrix.gcc_ver }}
      CXX: g++-${{ matrix.gcc_ver }}
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - 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-20.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
        with:
          submodules: true
      - 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-20.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
        with:
          submodules: true
      - name: Bootstrap
        run: |
          sudo dpkg --add-architecture i386
          sudo apt-get update
          sudo apt-get --no-install-recommends install -y clang-${{ matrix.clang_ver }} clang++-${{ matrix.clang_ver }} ninja-build
          sudo apt-get --no-install-recommends install -y g++-multilib libreadline-dev:i386 libncurses-dev:i386
      - name: Build
        run: |
          script/check-simulation-build
          script/check-posix-build

  gn:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - 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:
    name: macos-${{ matrix.CC }}
    strategy:
      matrix:
        include:
          - CC: clang
            CXX: clang++
          - CC: gcc
            CXX: g++
    runs-on: macos-10.15
    env:
      CC: ${{ matrix.CC }}
      CXX: ${{ matrix.CXX }}
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - name: Bootstrap
      run: |
        rm -f '/usr/local/bin/2to3'
        brew update
        brew install automake m4 ninja
        [ ${{ matrix.CC }} != clang ] || brew install llvm
    - name: Build
      run: |
        export PATH=$(brew --prefix m4)/bin:$PATH
        script/check-posix-build
        script/check-simulation-build

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