Skip to content

Commit

Permalink
fixup! workflows: Add inital workflow to test meson build
Browse files Browse the repository at this point in the history
  • Loading branch information
dragonmux committed Nov 28, 2023
1 parent 788586d commit 85fa15b
Showing 1 changed file with 73 additions and 72 deletions.
145 changes: 73 additions & 72 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 85fa15b

Please sign in to comment.