Skip to content

Testing/integration tests #1225

Testing/integration tests

Testing/integration tests #1225

Workflow file for this run

name: Build OSW-OS (Ubuntu, all models)
on:
workflow_dispatch:
push:
paths_ignore: '["*.md", "**/scripts/screen_capture/**"]'
pull_request:
branches: [ master, develop ]
jobs:
check_skip:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5.2.0
with:
concurrent_skipping: 'same_content_newer'
skip_after_successful_duplicate: 'true'
Find-packages:
runs-on: ubuntu-latest
needs: check_skip
if: ${{ needs.check_skip.outputs.should_skip != 'true' }}
steps:
- name: Checkout repository and submodules
# uses: actions/checkout@v3 # incompatible with git lfs cache bandwidth calcs (https://github.com/actions/checkout/issues/165)
uses: nschloe/action-cached-lfs-checkout@v1.2.1
with:
submodules: recursive
lfs: 'true'
- uses: dorny/paths-filter@v2.11.1
id: filter
with:
filters: |
i8n:
- 'include/locales/*.h'
- id: get-languages
run: |
if [ "${{ steps.filter.outputs.i8n }}" == "true" -o "${{ github.head_ref == 'master' }}" == "true" -o "${{ github.base_ref == 'master' }}" == "true" ]; then
echo "languages_matrix=$(python3 .github/getWorkflowMatrix.py all_languages)" >> $GITHUB_OUTPUT
else
echo "languages_matrix=$(python3 .github/getWorkflowMatrix.py default_language)" >> $GITHUB_OUTPUT
fi
- id: get-models
run: echo "models_matrix=$(python3 .github/getWorkflowMatrix.py all_models)" >> $GITHUB_OUTPUT
outputs:
languages_matrix: ${{ steps.get-languages.outputs.languages_matrix }}
models_matrix: ${{ steps.get-models.outputs.models_matrix }}
build-OSW:
needs: Find-packages
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: ${{ fromJson(needs.Find-packages.outputs.languages_matrix) }}
model: ${{ fromJson(needs.Find-packages.outputs.models_matrix) }}
build-configuration: [debug, release]
steps:
- name: Checkout repository and submodules
# uses: actions/checkout@v3 # incompatible with git lfs cache bandwidth calcs (https://github.com/actions/checkout/issues/165)
uses: nschloe/action-cached-lfs-checkout@v1.2.1
with:
submodules: recursive
lfs: 'true'
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ runner.os }}
- name: Cache PlatformIO
uses: actions/cache@v3
with:
path: ~/.platformio
key: platformio-${{ runner.os }}
- name: Install swig
run: sudo apt-get update && sudo apt-get -y install swig
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install PlatformIO
run: python -m pip install --upgrade pip && pip install --upgrade platformio
- name: Rename config
run: mv include/config.h.example include/config.h
- name: Compile language ${{ matrix.language }} model ${{ matrix.model }}
run: python3 .github/buildFirmware.py -l "${{ matrix.language }}" -m "${{ matrix.model }}" -b "${{ matrix.build-configuration }}"
- name: Upload firmware artifacts
uses: actions/upload-artifact@v3
with:
name: firmwares
path: |
*.bin