Skip to content

Updated ChangeLog & version number. #883

Updated ChangeLog & version number.

Updated ChangeLog & version number. #883

name: test with simulator targets on RSA/ECC to detect xmalloc failures
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
jobs:
simulator_tests:
runs-on: ubuntu-latest
timeout-minutes: 30
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: Update repository
run: sudo apt-get update -o Acquire::Retries=3
- name: Install 32-bit libc
run: |
sudo apt-get install -y libc6-dev-i386
# 32 Bit simulator, SP_MATH
#
- name: make clean
run: |
make keysclean
- name: Select config (32 bit simulator)
run: |
cp config/examples/sim32.config .config
- name: Build tools
run: |
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot.elf (ECC256)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup before dualbank simulator test
run: |
make keysclean
- name: Build wolfboot.elf (dualbank simulator)
run: |
make clean
mv .config .config.orig
cp config/examples/sim-dualbank.config .config
make test-sim-internal-flash-with-update
- name: Run dualbank swap simulation
run: |
tools/scripts/sim-dualbank-swap-update.sh
- name: Cleanup before WOLFBOOT_SMALL_STACK test
run: |
make keysclean
mv .config.orig .config
- name: Build wolfboot.elf (ECC256, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC384)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC384, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC521)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC521, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA2048)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA2048, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA3072)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA3072, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA4096)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA4096, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
# 32 Bit simulator, FASTMATH
#
- name: make clean
run: |
make keysclean
- name: Select config (32 bit simulator)
run: |
cp config/examples/sim32.config .config
- name: Build tools
run: |
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot.elf (ECC256, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC256, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC384, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC384, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC521, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC521, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA2048, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA2048, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA3072, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA3072, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA4096, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 SPMATH=0 WOLFBOOT_HUGE_STACK=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA4096, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
# 64 Bit simulator, SP_MATH
#
- name: make clean
run: |
make keysclean
- name: Select config (64 bit simulator)
run: |
cp config/examples/sim.config .config
- name: Build tools
run: |
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot.elf (ECC256)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC256, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC384)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC384, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC521)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC521, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA2048)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA2048, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA3072)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA3072, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA4096)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA4096, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 WOLFBOOT_SMALL_STACK=1 SPMATH=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
# 64 Bit simulator, FASTMATH
#
- name: make clean
run: |
make keysclean
- name: Select config (64 bit simulator)
run: |
cp config/examples/sim.config .config
- name: Build tools
run: |
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot.elf (ECC256, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC256, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC256 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC384, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC384, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC384 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (ECC521, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (ECC521, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=ECC521 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA2048, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA2048, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA2048 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA3072, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA3072, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA3072 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Cleanup to change key type
run: |
make keysclean
- name: Build wolfboot.elf (RSA4096, FASTMATH)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 SPMATH=0 WOLFBOOT_HUGE_STACK=1
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Build wolfboot.elf (RSA4096, FASTMATH, WOLFBOOT_SMALL_STACK)
run: |
make clean && make test-sim-internal-flash-with-update SIGN=RSA4096 WOLFBOOT_SMALL_STACK=1 SPMATH=0
- name: Run sunny day update test
run: |
tools/scripts/sim-sunnyday-update.sh
- name: Run sunny day LMS update test
run: |
tools/scripts/sim-pq-sunnyday-update.sh config/examples/sim-lms.config
- name: Run sunny day XMSS update test
run: |
tools/scripts/sim-pq-sunnyday-update.sh config/examples/sim-xmss.config
- name: Run sunny day ML-DSA level 2 update test
run: |
tools/scripts/sim-pq-sunnyday-update.sh config/examples/sim-ml-dsa.config
- name: Run sunny day ML-DSA level 3 update test
run: |
tools/scripts/sim-pq-sunnyday-update.sh config/examples/sim-ml-dsa3.config
- name: Run sunny day ML-DSA level 5 update test
run: |
tools/scripts/sim-pq-sunnyday-update.sh config/examples/sim-ml-dsa5.config
# 64 Bit simulator, Hybrid auth ML_DSA + ECDSA
#
- name: make clean
run: |
make keysclean
- name: Select config (64 bit simulator) Hybrid ML_DSA + ECC
run: |
cp config/examples/sim-ml-dsa-ecc-hybrid.config .config
- name: Build wolfboot.elf
run: |
make clean && make
- name: Run sunny day hybrid boot test
run: |
./wolfboot.elf get_version