mirror of https://github.com/wolfSSL/wolfBoot.git
118 lines
5.1 KiB
YAML
118 lines
5.1 KiB
YAML
name: Wolfboot CMake Build (Ubuntu)
|
|
on:
|
|
push:
|
|
branches: [ 'master', 'main', 'release/**' ]
|
|
pull_request:
|
|
branches: [ '*' ]
|
|
jobs:
|
|
cmake_automated_test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Workaround for sources.list
|
|
run: |
|
|
# Replace sources
|
|
|
|
set -euxo pipefail
|
|
|
|
# Peek (what repos are active now)
|
|
apt-cache policy
|
|
grep -RInE '^(deb|Types|URIs)' /etc/apt || true
|
|
|
|
# Enable nullglob so *.list/*.sources that don't exist don't break sed
|
|
shopt -s nullglob
|
|
|
|
echo "Replace sources.list (legacy)"
|
|
sudo sed -i \
|
|
-e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \
|
|
/etc/apt/sources.list || true
|
|
|
|
echo "Replace sources.list.d/*.list (legacy)"
|
|
for f in /etc/apt/sources.list.d/*.list; do
|
|
sudo sed -i \
|
|
-e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \
|
|
"$f"
|
|
done
|
|
|
|
echo "Replace sources.list.d/*.sources (deb822)"
|
|
for f in /etc/apt/sources.list.d/*.sources; do
|
|
sudo sed -i \
|
|
-e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \
|
|
-e "s|https\?://azure\.archive\.ubuntu\.com|http://mirror.arizona.edu|g" \
|
|
"$f"
|
|
done
|
|
|
|
echo "Fix /etc/apt/apt-mirrors.txt (used by URIs: mirror+file:...)"
|
|
if grep -qE '^[[:space:]]*https?://azure\.archive\.ubuntu\.com/ubuntu/?' /etc/apt/apt-mirrors.txt; then
|
|
# Replace azure with our mirror (idempotent)
|
|
sudo sed -i 's|https\?://azure\.archive\.ubuntu\.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/apt-mirrors.txt
|
|
fi
|
|
|
|
# Peek (verify changes)
|
|
grep -RIn "azure.archive.ubuntu.com" /etc/apt || true
|
|
grep -RInE '^(deb|Types|URIs)' /etc/apt || true
|
|
echo "--- apt-mirrors.txt ---"
|
|
cat /etc/apt/apt-mirrors.txt || true
|
|
|
|
|
|
- name: Install requirements
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y gcc-arm-none-eabi gcc-powerpc-linux-gnu cmake
|
|
|
|
- name: Run CMake build for STM32U5
|
|
run: |
|
|
rm -rf ./build
|
|
cmake -B build -DWOLFBOOT_TARGET=stm32u5 -DWOLFBOOT_PARTITION_BOOT_ADDRESS=0x08100000 -DWOLFBOOT_SECTOR_SIZE=0x2000 -DWOLFBOOT_PARTITION_SIZE=0x20000 -DWOLFBOOT_PARTITION_UPDATE_ADDRESS=0x817F000 -DWOLFBOOT_PARTITION_SWAP_ADDRESS=0x81FE000 -DNO_MPU=yes
|
|
|
|
- name: Build wolfBoot
|
|
run: make -C build
|
|
|
|
- name: Run CMake build for STM32H7
|
|
run: |
|
|
rm -rf ./build
|
|
cmake -B build -DWOLFBOOT_TARGET=stm32h7 -DWOLFBOOT_PARTITION_BOOT_ADDRESS=0x8020000 -DWOLFBOOT_SECTOR_SIZE=0x20000 -DWOLFBOOT_PARTITION_SIZE=0xD0000 -DWOLFBOOT_PARTITION_UPDATE_ADDRESS=0x80F0000 -DWOLFBOOT_PARTITION_SWAP_ADDRESS=0x81C0000
|
|
- name: Build wolfBoot
|
|
run: make -C build
|
|
|
|
- name: Run CMake build for STM32F407-DISCOVERY
|
|
run: |
|
|
rm -rf ./build
|
|
cmake -B build -DWOLFBOOT_TARGET=stm32f4 -DWOLFBOOT_PARTITION_SIZE=0x20000 -DWOLFBOOT_SECTOR_SIZE=0x20000 -DWOLFBOOT_PARTITION_BOOT_ADDRESS=0x08020000 -DWOLFBOOT_PARTITION_UPDATE_ADDRESS=0x08040000 -DWOLFBOOT_PARTITION_SWAP_ADDRESS=0x08060000 -DCLOCK_SPEED=160000000 -DSTM32_PLLM=8 -DSTM32_PLLN=336 -DSTM32_PLLP=2 -DSTM32_PLLQ=7
|
|
- name: Build wolfBoot
|
|
run: make -C build
|
|
|
|
- name: Run CMake build for STM32F411-BLACKPILL
|
|
run: |
|
|
rm -rf ./build
|
|
cmake -B build -DWOLFBOOT_TARGET=stm32f4 -DWOLFBOOT_PARTITION_SIZE=0x20000 -DWOLFBOOT_SECTOR_SIZE=0x20000 -DWOLFBOOT_PARTITION_BOOT_ADDRESS=0x08020000 -DWOLFBOOT_PARTITION_UPDATE_ADDRESS=0x08040000 -DWOLFBOOT_PARTITION_SWAP_ADDRESS=0x08060000 -DCLOCK_SPEED=84000000 -DSTM32_PLLM=25 -DSTM32_PLLN=336 -DSTM32_PLLP=4 -DSTM32_PLLQ=7
|
|
- name: Build wolfBoot
|
|
run: make -C build
|
|
|
|
- name: Run CMake build for STM32L0
|
|
run: |
|
|
rm -rf ./build
|
|
cmake -B build -DWOLFBOOT_TARGET=stm32l0 -DWOLFBOOT_PARTITION_BOOT_ADDRESS=0x8000 -DWOLFBOOT_SECTOR_SIZE=0x1000 -DWOLFBOOT_PARTITION_SIZE=0x10000 -DWOLFBOOT_PARTITION_UPDATE_ADDRESS=0x18000 -DWOLFBOOT_PARTITION_SWAP_ADDRESS=0x28000 -DNVM_FLASH_WRITEONCE=yes
|
|
- name: Build wolfBoot
|
|
run: make -C build
|
|
|
|
- name: Run Cmake build for Nordic nrf52
|
|
run: |
|
|
rm -rf ./build
|
|
cmake -B build -DWOLFBOOT_TARGET=nrf52 -DWOLFBOOT_PARTITION_SIZE=0x8000 -DWOLFBOOT_SECTOR_SIZE=0x1000 -DWOLFBOOT_PARTITION_BOOT_ADDRESS=0x27000 -DWOLFBOOT_PARTITION_UPDATE_ADDRESS=0x2F000 -DWOLFBOOT_PARTITION_SWAP_ADDRESS=0x37000
|
|
- name: Build wolfBoot
|
|
run: make -C build
|
|
|
|
- name: Run wolfbuild script
|
|
run: |
|
|
rm -rf ./build
|
|
chmod +x ./tools/scripts/wolfboot_cmake_full_build.sh
|
|
|
|
./tools/scripts/wolfboot_cmake_full_build.sh --CLEAN "stm32l4"
|
|
./tools/scripts/wolfboot_cmake_full_build.sh --target "stm32l4"
|