From 7f203759ca7d0290c18881e6ef7c2e59c5406426 Mon Sep 17 00:00:00 2001 From: liuhaitao Date: Wed, 4 Mar 2020 15:41:50 +0800 Subject: [PATCH] Initial checkin nuttx-apps github action CI workflow Github action CI workflow steps as below: 1. Use docker container with build essential tools preinstalled 2. nxstyle check pull request with checkpatch.sh 3. Call testing cibuild.sh to do jobs matrix check builds Signed-off-by: liuhaitao --- .github/workflows/main.yml | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..bcab659f44 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,83 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +name: PR Check CI + +on: + pull_request: + +jobs: + check: + runs-on: ubuntu-18.04 + container: liuguo09/ubuntu-nuttx:18.04 + + steps: + - name: Checkout apps repo + uses: actions/checkout@v2 + with: + path: apps + fetch-depth: 0 + + - name: Checkout nuttx repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx + path: nuttx + fetch-depth: 0 + + - name: Check Pull Request + run: | + cd apps + ranges=`git log -1 --merges --pretty=format:%P | awk -F" " '{ print $1 ".." $2 }'` + git log --oneline $ranges + commits=`git log --reverse --format=format:%H $ranges` + echo "../nuttx/tools/checkpatch.sh -g $commits" + ../nuttx/tools/checkpatch.sh -g $commits + + build: + needs: check + runs-on: ubuntu-18.04 + container: liuguo09/ubuntu-nuttx:18.04 + + strategy: + matrix: + boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, arm-14, arm-15, mips-riscv-x86, sim] + + steps: + - name: Checkout apps repo + uses: actions/checkout@v2 + with: + path: apps + fetch-depth: 0 + + - name: Checkout nuttx repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx + path: nuttx + fetch-depth: 0 + + - name: Fetch nuttx tags + run: | + cd nuttx + git fetch --tags + + - name: Checkout testing repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx-testing + path: testing + + - name: Run builds + run: | + cd testing + ./cibuild.sh -x testlist/${{matrix.boards}}.dat