-
-
Notifications
You must be signed in to change notification settings - Fork 781
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fixup! workflows: Add inital workflow to test meson build
- Loading branch information
Showing
1 changed file
with
73 additions
and
72 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -223,78 +223,79 @@ jobs: | |
- name: Build full BMDA | ||
run: make PROBE_HOST=hosted HOSTED_BMP_ONLY=0 | ||
|
||
# TODO: This is disabled because its out of date and needs updating after the latest refactoring | ||
# # This workflow tests the experimental Meson build system | ||
# build-linux-meson: | ||
# # The type of runner that the job will run on | ||
# runs-on: ubuntu-20.04 | ||
|
||
# # We define a matrix of GCCs and OSes to build against so we can cover a variety of | ||
# # suitable compilation environments and early discover issues. The `build-and-upload` | ||
# # workflow contains an extended set. | ||
# strategy: | ||
# matrix: | ||
# arm-compiler: | ||
# - '12.2.Rel1' | ||
# probe: | ||
# - '96b_carbon' | ||
# - 'bluepill' | ||
# - 'f072' | ||
# - 'f3' | ||
# - 'f4discovery' | ||
# - 'hydrabus' | ||
# - 'launchpad-icdi' | ||
# - 'native' | ||
# - 'stlink' | ||
# - 'stlinkv3' | ||
# - 'swlink' | ||
# fail-fast: false | ||
|
||
# # Steps represent a sequence of tasks that will be executed as part of the job | ||
# steps: | ||
# # Build a suitable runtime environment | ||
# - name: Runtime environment | ||
# shell: bash | ||
# env: | ||
# WORKSPACE: ${{ github.workspace }} | ||
# # The GITHUB_WORKSPACE step here fixes https://github.com/actions/runner/issues/2058 which is an ongoing issue. | ||
# run: | | ||
# echo "$GITHUB_WORKSPACE=`pwd`" >> $GITHUB_ENV | ||
|
||
# # Setup and use a suitable ARM GCC for the firmware | ||
# - name: Setup ARM GCC | ||
# uses: carlosperate/arm-none-eabi-gcc-action@v1 | ||
# with: | ||
# release: ${{ matrix.arm-compiler }} | ||
|
||
# # Record the versions of all the tools used in the build | ||
# # - name: Version tools | ||
# # shell: bash | ||
# # run: | | ||
# # arm-none-eabi-gcc --version | ||
# # make --version | ||
# # meson --version | ||
# # ninja --version | ||
|
||
# # Checkout the repository and branch to build under the default location | ||
# - name: Checkout | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# submodules: true | ||
|
||
# # Prepare the submodule as they conflict with the Meson build by default | ||
# # This is mesons job, but I can't figure out how to make it work :( | ||
# - name: Prepare submodules | ||
# run: cp -r lib/packagefiles/libopencm3/* lib/libopencm3/ | ||
|
||
# # Build the firmware for all platform variants (currently available) | ||
# - name: Build | ||
# uses: BSFishy/[email protected] | ||
# with: | ||
# action: build | ||
# directory: build/${{ matrix.probe }} | ||
# setup-options: --cross-file cross-file/arm-none-eabi.ini -Dprobe=${{ matrix.probe }} | ||
# meson-version: 1.2.0 | ||
# This workflow tests the experimental Meson build system | ||
build-linux-meson: | ||
# The type of runner that the job will run on | ||
runs-on: ubuntu-20.04 | ||
|
||
# We define a matrix of GCCs and OSes to build against so we can cover a variety of | ||
# suitable compilation environments and early discover issues. The `build-and-upload` | ||
# workflow contains an extended set. | ||
strategy: | ||
matrix: | ||
arm-compiler: | ||
- '12.2.Rel1' | ||
probe: | ||
- '96b_carbon' | ||
- 'bluepill' | ||
- 'f072' | ||
- 'f3' | ||
- 'f4discovery' | ||
- 'hydrabus' | ||
- 'launchpad-icdi' | ||
- 'native' | ||
- 'stlink' | ||
- 'stlinkv3' | ||
- 'swlink' | ||
fail-fast: false | ||
|
||
# Steps represent a sequence of tasks that will be executed as part of the job | ||
steps: | ||
# Build a suitable runtime environment | ||
- name: Runtime environment | ||
shell: bash | ||
env: | ||
WORKSPACE: ${{ github.workspace }} | ||
# The GITHUB_WORKSPACE step here fixes https://github.com/actions/runner/issues/2058 which is an ongoing issue. | ||
run: | | ||
echo "$GITHUB_WORKSPACE=`pwd`" >> $GITHUB_ENV | ||
# Setup and use a suitable ARM GCC for the firmware | ||
- name: Setup ARM GCC | ||
uses: carlosperate/arm-none-eabi-gcc-action@v1 | ||
with: | ||
release: ${{ matrix.arm-compiler }} | ||
|
||
# Install and setup a suitable Meson + Ninja | ||
- name: Setup Meson + Ninja | ||
run: | | ||
sudo python3 -m pip install --upgrade pip setuptools wheel | ||
sudo python3 -m pip install meson ninja | ||
working-directory: ${{ runner.temp }} | ||
|
||
# Record the versions of all the tools used in the build | ||
- name: Version tools | ||
run: | | ||
arm-none-eabi-gcc --version | ||
meson --version | ||
ninja --version | ||
# Checkout the repository and branch to build under the default location | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
# Prepare the submodule as they conflict with the Meson build by default | ||
# This is mesons job, but I can't figure out how to make it work :( | ||
- name: Prepare submodules | ||
run: cp -r deps/packagefiles/libopencm3/* deps/libopencm3/ | ||
|
||
# Build the firmware for all platform variants (currently available) | ||
- name: Build | ||
run: | | ||
meson setup build --cross-file cross-file/arm-none-eabi.ini -Dprobe=${{ matrix.probe }} | ||
meson compile -C build | ||
size-diff: | ||
runs-on: ubuntu-20.04 | ||
|