Skip to content

.github/workflows/presubmit.yml #1012

.github/workflows/presubmit.yml

.github/workflows/presubmit.yml #1012

Workflow file for this run

on:
pull_request:
push:
branches:
- master
schedule:
- cron: '0 12 * * *'
jobs:
cleanliness:
name: Cleanliness Checks
runs-on: ubuntu-18.04
steps:
- name: 🛎️ Checkout
uses: actions/checkout@v2
- name: 📥 Install Doxygen and Graphviz
run: sudo apt-get -y install doxygen graphviz
- name: 📥 Install cspell
run: sudo npm install -g cspell@4.0.38
- name: 📦 Fast Setup
run: ./setup --generate-location-file
- name: 🧹 Lint
working-directory: projects/continuous_integration
run: make lint 1> /dev/null
- name: 🔤 Spellcheck
working-directory: projects/continuous_integration
run: make spellcheck
- name: 📖 Documentation
working-directory: projects/continuous_integration
run: make doxygen
- name: 📃 Check Variable Names
working-directory: projects/continuous_integration
run: make commit-tidy
- name: 🚀 Deploy
uses: JamesIves/github-pages-deploy-action@3.7.1
# Only Deploy to gh-pages on master branch event
if: ${{ github.ref == 'refs/heads/master' &&
github.event_name == 'push' }}
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: .
CLEAN: true
unit_tests:
name: Unit Tests + Coverage
runs-on: ubuntu-18.04
steps:
- name: 🛎️ Checkout
uses: actions/checkout@v2
- name: 📥 Install Cpp Coveralls
run: pip install --user cpp-coveralls
- name: 📦 Setup
run: ./setup
- name: 🧪 Run Tests
working-directory: projects/continuous_integration
run: make test
- name: 🩺 Code Coverage
working-directory: projects/continuous_integration
run: make coverage
- name: 🚀 Send Coverage to Codecov.io
uses: codecov/codecov-action@v1
with:
file: projects/continuous_integration/build/test/coverage/coverage.xml
name: Full Platform Unit Tests
- name: 🗄️ Archive code coverage results
uses: actions/upload-artifact@v2
with:
name: code-coverage-report
path: projects/continuous_integration/build/test/coverage/coverage.xml
linux_checks:
name: Linux Setup + Build Checks
runs-on: ubuntu-18.04
steps:
- name: 🛎️ Checkout
uses: actions/checkout@v2
- name: 📦 Setup
run: ./setup
- name: 🛠️ Build Applications
working-directory: projects/continuous_integration
run: make --no-print-directory all-projects
macosx_checks:
name: MacOS Setup + Build Checks
runs-on: macos-10.15
steps:
- name: 🛎️ Checkout
uses: actions/checkout@v2
- name: 📦 Setup
run: ./setup
- name: 🛠️ Build Hello World
working-directory: projects/hello_world
run: make application
- name: 🛠️ Build Barebones
working-directory: projects/barebones
run: make application
- name: 🛠️ Build Starter
working-directory: projects/starter
run: make application
- name: 🛠️ Build SJTwo GPIO
working-directory: demos/sjtwo/gpio
run: make application
- name: 🛠️ Build stm32f10x GPIO
working-directory: demos/stm32f10x/gpio
run: make application
- name: 🛠️ Build stm32f4xx GPIO
working-directory: demos/stm32f4xx/fk407m1_gpio
run: make application
- name: 🛠️ Build msp432p401r Blinker
working-directory: demos/msp432p401r/blinker
run: make application
- name: 🛠️ Build multiplatform Stopwatch
working-directory: demos/multiplatform/stopwatch
run: make application
- name: 🛠️ Build ARM Cortex DWT
working-directory: demos/arm_cortex/dwt_counter
run: make application