Adding Jenkins #215
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# YAML schema for GitHub Actions: | |
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions | |
# | |
# Helpful YAML parser to clarify YAML syntax: | |
# https://yaml-online-parser.appspot.com/ | |
# | |
# This workflow uses actions that are not certified by GitHub. They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support documentation. | |
# | |
# This file contains the workflows that are run prior to merging a pull request. | |
name: CI | |
on: | |
push: | |
branches: | |
- 'develop' | |
- 'master' | |
pull_request: | |
branches: | |
- 'develop' | |
- 'master' | |
# Allow manually triggering of the workflow. | |
workflow_dispatch: {} | |
jobs: | |
build_tests_xcore: | |
name: Build tests (XCore) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Pull builder container | |
run: | | |
docker pull ghcr.io/xmos/xcore_builder:latest | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy | |
- name: Build | |
run: | | |
mkdir ~/artifacts | |
docker run --rm -u $(id -u):$(id -g) -w /lib_xcore_math -v ${{ github.workspace }}:/lib_xcore_math -v ~/artifacts:/artifacts ghcr.io/xmos/xcore_builder:latest bash -l .github/scripts/build_tests_xcore.sh | |
- name: Save Unit Test Artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: unit_tests | |
path: ~/artifacts | |
retention-days: 5 | |
build_tests_x86: | |
name: Build & Run Tests (x86) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy | |
- name: Build Tests | |
working-directory: ~ | |
run: | | |
cmake -B build.x86 ${{ github.workspace }} | |
cmake --build build.x86 | |
- name: "Run Tests: scalar_tests" | |
working-directory: ~ | |
run: ./build.x86/test/scalar_tests/scalar_tests -v | |
- name: "Run Tests: vect_tests" | |
working-directory: ~ | |
run: ./build.x86/test/vect_tests/vect_tests -v | |
- name: "Run Tests: bfp_tests" | |
working-directory: ~ | |
run: ./build.x86/test/bfp_tests/bfp_tests -v | |
- name: "Run Tests: fft_tests" | |
working-directory: ~ | |
run: ./build.x86/test/fft_tests/fft_tests -v | |
- name: "Run Tests: filter_tests" | |
working-directory: ~ | |
run: ./build.x86/test/filter_tests/filter_tests -v | |
- name: "Run Tests: dct_tests" | |
working-directory: ~ | |
run: ./build.x86/test/dct_tests/dct_tests -v | |
# Ultimately checks that module_build_info is correct enough to build (with xmake) a trivial app | |
# which uses this library. | |
build_legacy_app: | |
name: Build App (xmake) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Pull builder container | |
run: | | |
docker pull ghcr.io/xmos/xcore_builder:latest | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy | |
- name: Build | |
run: | | |
docker run --rm -u $(id -u):$(id -g) -w /lib_xcore_math -v ${{ github.workspace }}:/lib_xcore_math ghcr.io/xmos/xcore_builder:latest bash -l .github/scripts/build_legacy.sh |