| # 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: Build |
| |
| on: |
| pull_request: |
| |
| jobs: |
| Linux: |
| runs-on: ubuntu-latest |
| env: |
| DOCKER_BUILDKIT: 1 |
| IMAGE_TAG: docker.pkg.github.com/${{ github.repository }}/nuttx-ci-linux |
| |
| 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, other, risc-v, sim01, sim02, xtensa] |
| |
| steps: |
| - name: Checkout nuttx repo |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/incubator-nuttx |
| ref: master |
| path: sources/nuttx |
| fetch-depth: 1 |
| - name: Checkout nuttx repo tags |
| run: git -C sources/nuttx fetch --tags |
| |
| - name: Checkout apps repo |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/incubator-nuttx-apps |
| ref: master |
| path: sources/apps |
| fetch-depth: 1 |
| |
| - name: Checkout testing repo |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/incubator-nuttx-testing |
| path: sources/testing |
| fetch-depth: 1 |
| |
| - name: Docker Login |
| uses: azure/docker-login@v1 |
| with: |
| login-server: docker.pkg.github.com |
| username: ${GITHUB_ACTOR} |
| password: ${{ secrets.GITHUB_TOKEN }} |
| |
| - name: Docker Pull |
| run: docker pull docker.pkg.github.com/apache/incubator-nuttx-testing/nuttx-ci-linux |
| - name: Run builds |
| uses: ./sources/testing/.github/actions/ci-container |
| env: |
| BLOBDIR: /tools/blobs |
| with: |
| run: | |
| echo "::add-matcher::sources/nuttx/.github/gcc.json" |
| export CCACHE_DIR=`pwd`/ccache |
| mkdir $CCACHE_DIR |
| cd sources/testing |
| export ARTIFACTDIR=`pwd`/../../buildartifacts |
| ./cibuild.sh -A -c testlist/${{matrix.boards}}.dat |
| ccache -s |
| |
| macOS: |
| runs-on: macos-10.15 |
| strategy: |
| matrix: |
| boards: [macos, sim01, sim02] |
| steps: |
| - name: Checkout nuttx repo |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/incubator-nuttx |
| ref: master |
| path: sources/nuttx |
| fetch-depth: 1 |
| - name: Checkout nuttx repo tags |
| run: git -C sources/nuttx fetch --tags |
| |
| - name: Checkout apps repo |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/incubator-nuttx-apps |
| ref: master |
| path: sources/apps |
| fetch-depth: 1 |
| |
| - name: Checkout testing repo |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/incubator-nuttx-testing |
| path: sources/testing |
| fetch-depth: 1 |
| - name: Run Builds |
| run: | |
| echo "::add-matcher::sources/nuttx/.github/gcc.json" |
| export CCACHE_DIR=`pwd`/ccache |
| mkdir $CCACHE_DIR |
| cd sources/testing |
| export ARTIFACTDIR=`pwd`/../../buildartifacts |
| ./cibuild.sh -i -A -c -x testlist/${{matrix.boards}}.dat |
| ccache -s |