name: CI on: push: branches: [master] pull_request: jobs: lint: runs-on: ubuntu-22.04 outputs: boards: ${{ steps.board-matrix.outputs.boards }} steps: - uses: actions/checkout@v3 - name: Install dependencies run: ./scripts/deps.sh - name: Check SPDX tags run: ./scripts/lint/01-spdx-tags.sh - name: Check formatting run: ./scripts/lint/02-clang-format.sh - name: Check shell scripts run: ./scripts/lint/03-shellcheck.sh - name: Generate board matrix id: board-matrix run: echo "boards=$(make list-boards | jq -sRc 'split("\n")[:-1]')" >> $GITHUB_OUTPUT tool: strategy: matrix: include: - features: - features: --no-default-features --features="redox_hwio" runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install dependencies run: ./scripts/deps.sh - name: Build tool run: cargo build ${{ matrix.features }} --release --manifest-path tool/Cargo.toml ec: runs-on: ubuntu-22.04 needs: lint strategy: matrix: boards: ${{ fromJson(needs.lint.outputs.boards) }} # TODO: Conditionally build based on files changed? steps: - uses: actions/checkout@v3 - name: Install dependencies run: ./scripts/deps.sh - name: Build firmware run: make BOARD=${{ matrix.boards }} VERBOSE=1