Skip to content

⚡ API branch names are just repo names #418

⚡ API branch names are just repo names

⚡ API branch names are just repo names #418

Workflow file for this run

# Copyright 2024 - 2025 Khalil Estell and the libhal contributors
#
# 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: ✅ Self Check
on:
pull_request:
push:
branches:
- main
schedule:
- cron: "0 12 * * 0"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-24.04
outputs:
library_check: ${{ steps.filter.outputs.library_check }}
api_docs: ${{ steps.filter.outputs.api_docs }}
lint: ${{ steps.filter.outputs.lint }}
docs: ${{ steps.filter.outputs.docs }}
package_and_upload_all: ${{ steps.filter.outputs.package_and_upload_all }}
app_builder2: ${{ steps.filter.outputs.app_builder2 }}
tests: ${{ steps.filter.outputs.tests }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
api_docs:
- '.github/workflows/api_docs_gen.yml'
library_check:
- '.github/workflows/library_check.yml'
tests:
- '.github/workflows/tests.yml'
lint:
- '.github/workflows/lint.yml'
docs:
- '.github/workflows/docs.yml'
package_and_upload_all:
- '.github/workflows/package_and_upload_all.yml'
- '.github/workflows/package_and_upload.yml'
app_builder2:
- '.github/workflows/app_builder2.yml'
api_strong_ptr:
needs: changes
if: ${{ needs.changes.outputs.api_docs == 'true' }}
uses: ./.github/workflows/api_docs_gen.yml
with:
repo_name: strong_ptr
repo: libhal/strong_ptr
dir: .
dry_run: true
version: main
secrets: inherit
api_libhal_v4:
needs: changes
if: ${{ needs.changes.outputs.api_docs == 'true' }}
uses: ./.github/workflows/api_docs_gen.yml
with:
repo_name: libhal
repo: libhal/libhal
dir: v4
dry_run: true
version: main
secrets: inherit
library_check_libhal_v4:
needs: changes
if: ${{ needs.changes.outputs.library_check == 'true' }}
uses: ./.github/workflows/library_check.yml
with:
library: libhal
repo: libhal/libhal
dir: v4
secrets: inherit
library_check_libhal-util:
needs: changes
if: ${{ needs.changes.outputs.library_check == 'true' }}
uses: ./.github/workflows/library_check.yml
with:
library: libhal-util
repo: libhal/libhal-util
dir: v5
secrets: inherit
libhal-actuator:
needs: changes
if: ${{ needs.changes.outputs.library_check == 'true' }}
uses: ./.github/workflows/library_check.yml
with:
library: libhal-actuator
repo: libhal/libhal-actuator
secrets: inherit
libhal-sensor:
needs: changes
if: ${{ needs.changes.outputs.library_check == 'true' }}
uses: ./.github/workflows/library_check.yml
with:
library: libhal-sensor
repo: libhal/libhal-sensor
secrets: inherit
libhal-expander:
needs: changes
if: ${{ needs.changes.outputs.library_check == 'true' }}
uses: ./.github/workflows/library_check.yml
with:
library: libhal-expander
repo: libhal/libhal-expander
secrets: inherit
libhal-micromod-lint:
needs: changes
if: ${{ needs.changes.outputs.lint == 'true' }}
uses: ./.github/workflows/lint.yml
with:
library: libhal-micromod
source_dir: src
dir: .
repo: libhal/libhal-micromod
secrets: inherit
libhal-micromod-docs:
needs: changes
if: ${{ needs.changes.outputs.docs == 'true' }}
uses: ./.github/workflows/docs.yml
with:
library: libhal-micromod
source_dir: src
dir: .
repo: libhal/libhal-micromod
secrets: inherit
strong_ptr-tests:
needs: changes
if: ${{ needs.changes.outputs.tests == 'true' }}
uses: ./.github/workflows/tests.yml
with:
repo: libhal/strong_ptr
secrets: inherit
package-strong_ptr:
needs: changes
if: ${{ needs.changes.outputs.package_and_upload_all == 'true' }}
uses: ./.github/workflows/package_and_upload_all.yml
with:
library: strong_ptr
repo: libhal/strong_ptr
modules_support_needed: true
ci_ref: ${{ github.head_ref || github.ref_name }}
secrets: inherit
package-libhal_v4:
needs: changes
if: ${{ needs.changes.outputs.package_and_upload_all == 'true' }}
uses: ./.github/workflows/package_and_upload_all.yml
with:
library: libhal
repo: libhal/libhal
dir: v4
ci_ref: ${{ github.head_ref || github.ref_name }}
secrets: inherit
package-libhal-util:
needs: changes
if: ${{ needs.changes.outputs.package_and_upload_all == 'true' }}
uses: ./.github/workflows/package_and_upload_all.yml
with:
library: libhal-util
repo: libhal/libhal-util
dir: v5
ci_ref: ${{ github.head_ref || github.ref_name }}
secrets: inherit
# TODO(#95): Enable Windows
# TODO(libhal/async_context#17): Add async-context
# TODO(libhal/libhal#178): Add libhal v5
# TODO(libhal/libhal-util#87): Add libhal-util v6
libhal-arm-mcu-lpc4078-demos:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-arm-mcu
dir: demos
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/mcu/lpc4078
secrets: inherit
libhal-expander-build-latest:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-expander
dir: demos
library_dir: .
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/mcu/lpc4078
libhal-actuator-demos-lpc4078:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-actuator
dir: demos
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/mcu/lpc4078
secrets: inherit
libhal-actuator-demos-lpc4074:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-actuator
dir: demos
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/mcu/lpc4074
secrets: inherit
libhal-starter-app-lpc4078:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-starter
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/mcu/lpc4078
secrets: inherit
libhal-starter-app-stm32f103c8:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-starter
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/mcu/stm32f103c8
secrets: inherit
libhal-starter-app-mod-stmt32f1-v4:
needs: changes
if: ${{ needs.changes.outputs.app_builder2 == 'true' }}
uses: ./.github/workflows/app_builder2.yml
with:
repo: libhal/libhal-starter
compiler_profile: hal/tc/arm-gcc
platform_profile: hal/bsp/mod-stm32f1-v4
secrets: inherit