Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
3ab37c5
Migrate uf2 to 0.16.0
mattnite May 23, 2026
00c7ec1
regz updated for 0.16.0
mattnite May 24, 2026
28655db
Remove port cache
mattnite May 24, 2026
ae6699d
Aviron moved to 0.16.0
mattnite May 25, 2026
787cd16
Foundation libc on 0.16.0
mattnite May 25, 2026
76bed63
Freertos for 0.16.0
mattnite May 25, 2026
0b5f0b4
lwip 0.16.0
mattnite May 25, 2026
952d89b
msp430 examples on 0.16.0
mattnite May 25, 2026
50c64c4
flags library and esp compiling for 0.16.0
mattnite May 26, 2026
04e1439
stm32 compiling on 0.16.0
mattnite May 26, 2026
614f52c
rp2xxx and ch32v compiling on 0.16.0
mattnite May 28, 2026
a630b2a
Examples that don't depend on libc building on 0.16.0
mattnite May 28, 2026
a1e8a28
Linter building on 0.16.0
mattnite May 28, 2026
0fc9518
Update CI
mattnite May 28, 2026
11ef934
dfu compiles on 0.16.0
mattnite May 28, 2026
6cc2b98
esp-image compile and tests on 0.16.0
mattnite May 28, 2026
1c91789
Remove package-test
mattnite May 28, 2026
9c8ef10
printer compiling with 0.16.0
mattnite May 28, 2026
0f148a5
Remove unused imports/decls
mattnite May 28, 2026
d309346
Reorganize drivers
mattnite May 28, 2026
c39d72e
Fix examples from driver cleanup
mattnite May 28, 2026
a807d6d
Some CI updates
mattnite May 28, 2026
1f3ad31
Update zine
mattnite May 28, 2026
6f52c15
Fix foundation libc CI
mattnite May 28, 2026
d3ff789
Only build website on linux
mattnite May 28, 2026
4caf75e
Fix foundation-libc CI
mattnite May 28, 2026
471334c
Add workaround
mattnite May 28, 2026
8298006
check cache dir
mattnite May 28, 2026
85bafe9
try again
mattnite May 28, 2026
74deff3
try again
mattnite May 29, 2026
6fb4ae7
try again
mattnite May 29, 2026
c8784a2
Skip over 0.16.0 to master
mattnite May 29, 2026
8fb542c
most of the **'s to @splat
mattnite May 29, 2026
aaef4ad
regz compiling on master
mattnite May 29, 2026
5e2c54a
Pass regz tests
mattnite May 29, 2026
cb1b667
dfu compiles and tests
mattnite May 29, 2026
a540039
drivers compiling and testing
mattnite May 29, 2026
c99ddb8
Some fixes for aviron, nrfx examples building
mattnite May 29, 2026
49d6225
Examples building, minus any depending on foundation-libc
mattnite May 30, 2026
a66b8ba
foundation-libc using TranslateC step
mattnite May 30, 2026
301686f
TranslateC for lwip
mattnite May 30, 2026
e9f1b34
Remove last **
mattnite May 30, 2026
f2ab477
Cleanup CI
mattnite May 30, 2026
23960bb
Fix code generation
mattnite May 30, 2026
2aff4d8
Fix libxml2
mattnite May 30, 2026
cb37426
update libxml2
mattnite May 30, 2026
0309b13
Fix windows issues in CI
mattnite May 30, 2026
4e9d78b
More fixes
mattnite May 30, 2026
e2f4c2c
esp examples building
mattnite May 30, 2026
f10a2bd
Update serial
mattnite May 30, 2026
3eb0e20
Try vfs workaround on windows
mattnite May 30, 2026
ca7bdc9
Pass thru args and printer test updates for master churn
mattnite May 30, 2026
3a0303c
typo and cleanup
mattnite May 30, 2026
3c55143
Remove unused file
mattnite May 30, 2026
3860e20
Update libxml2
mattnite May 30, 2026
93c23a9
Consider keeping website on 0.15.2 for now
mattnite May 30, 2026
f3e7162
revert zine
mattnite May 30, 2026
f650a78
Clone HEAD of zigimports
mattnite May 30, 2026
824ec47
Get rid of messy linter CI logic
mattnite May 30, 2026
5d77d94
Freertos and objcopy format from bin to binary
mattnite May 31, 2026
4ba0693
Fix ch32v examples build.zig
mattnite May 31, 2026
f05abdb
Most of the @typeInfo changes
mattnite Jun 3, 2026
c28e86a
More typeInfo fixes
mattnite Jun 3, 2026
7294529
Try to generate port names
mattnite Jun 4, 2026
4b16d8f
Translate c package in libxml
mattnite Jun 5, 2026
c2cbbed
Fix find invocation
mattnite Jun 6, 2026
3fefaf1
Try again
mattnite Jun 6, 2026
4b98716
Update tests
mattnite Jun 6, 2026
231cb1b
More updates for master
mattnite Jun 8, 2026
d0b6728
Cleanup
mattnite Jun 9, 2026
e25526b
My branch isn't merged yet
mattnite Jun 9, 2026
6001214
Include vendored header
mattnite Jun 9, 2026
be99e9a
update zine
mattnite Jun 12, 2026
dea47a9
Handle DW_FORM_indirect in printer
mattnite Jun 13, 2026
a76c376
Add self-validation to the CI
mattnite Jun 13, 2026
f728bce
Update to latest
mattnite Jun 13, 2026
1f62212
Fix script
mattnite Jun 13, 2026
f22a8cf
Fix findProgram usage
mattnite Jun 13, 2026
9fc8b7d
Remove switch on pointers (it's getting axed eventually)
mattnite Jun 13, 2026
eab3fa3
Run all unit tests in CI
mattnite Jun 13, 2026
1cd1e63
Skip atmega examples
mattnite Jun 13, 2026
0f0d93c
Try running all unit tests in one job
mattnite Jun 14, 2026
bb57053
Move file, rename job
mattnite Jun 14, 2026
e462297
Rename interface field
mattnite Jun 14, 2026
9428e34
Implement std.Io.Writer for usb jtag example
mattnite Jun 14, 2026
2afa2cf
Replace commented out panic code with a TODO
mattnite Jun 14, 2026
930e0d9
Remove uneeded TODO
mattnite Jun 14, 2026
b9787f9
Add usage
mattnite Jun 14, 2026
1676d94
Check ports.yml, fix actions
mattnite Jun 15, 2026
124dcea
Separate actions file for building examples
mattnite Jun 15, 2026
01e0c6a
Update test data
mattnite Jun 15, 2026
3c3003f
More CI reorganization
mattnite Jun 15, 2026
99b5632
fix up yq
mattnite Jun 15, 2026
1e3842e
skip foundation libc for now
mattnite Jun 15, 2026
43fa455
Drop redundant actions, update zine
mattnite Jun 15, 2026
4ce2f78
Update printer tests again
mattnite Jun 16, 2026
27fc8de
Fix typo
mattnite Jun 16, 2026
c6895de
Update zine
mattnite Jun 17, 2026
47fcadb
Update zine
mattnite Jun 18, 2026
ce3db4d
Add a way to disable microzig_main assert
mattnite Jun 21, 2026
934066b
Update test data
mattnite Jun 21, 2026
8270746
Updates
mattnite Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 51 additions & 83 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
workflow_dispatch:

env:
ZIG_VERSION: 0.15.1
ZIG_VERSION: master

jobs:
formatting-check:
Expand All @@ -23,6 +23,48 @@ jobs:
- name: Run zig fmt
run: zig fmt --check .

# Make sure that we are building examples and invoking tests for each port.
# Some may need to be skipped, but that's okay because then it's explicitly
# listed instead of forgotten.
validate-ports-checks:
name: Validate Port Checks
continue-on-error: true
runs-on: ubuntu-latest
steps:
- run: sudo apt install -y yq
- name: Checkout
uses: actions/checkout@v4
- run: |
set -e

find port -mindepth 2 -maxdepth 2 -type d | sed 's|^port/||' | sort > ports
yq -r '.jobs["unit-test"].steps[] | select(.run == "zig build test") | .["working-directory"]' .github/workflows/ports.yml | sed 's|^port/||' | sort > unit_tested_ports
yq -r '.jobs.build.steps[] | select(.run == "zig build -Doptimize=ReleaseSmall") | .["working-directory"]' .github/workflows/ports.yml | grep -v no_hal | sed 's|^examples/||' | sort > exampled_ports

comm -23 ports unit_tested_ports > missing_unit_tests
comm -23 ports exampled_ports > missing_examples

EXIT_CODE=0
if [ -s missing_unit_tests ]
then
EXIT_CODE=1
echo "These ports are not running unit tests in CI:" >&2
echo "" >&2
cat missing_unit_tests >&2
echo "" >&2
fi

if [ -s missing_examples ]
then
EXIT_CODE=1
echo "These ports are not building examples in CI:" >&2
echo "" >&2
cat missing_examples >&2
echo "" >&2
fi

exit $EXIT_CODE

unit-test-regz:
name: Unit Test Regz
continue-on-error: true
Expand Down Expand Up @@ -134,7 +176,7 @@ jobs:
with:
version: ${{ env.ZIG_VERSION }}
- name: Generate Code
run: zig build generate
run: zig build -Dgenerate
working-directory: port/stmicro/stm32
- name: Check for code diffs
run: |
Expand Down Expand Up @@ -164,58 +206,9 @@ jobs:
- name: Build
run: zig build -Doptimize=ReleaseSmall

unit-test-ports:
name: Unit Test Ports
continue-on-error: true
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
port_dir: [gigadevice/gd32, espressif/esp, raspberrypi/rp2xxx, stmicro/stm32, wch/ch32v]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: ${{ env.ZIG_VERSION }}
- name: Unit Test Ports
run: zig build test
working-directory: port/${{ matrix.port_dir }}

build-examples:
name: Build Examples
continue-on-error: true
runs-on: ubuntu-latest
strategy:
matrix:
example_dir: [
espressif/esp,
gigadevice/gd32,
microchip/atmega,
microchip/samd51,
nordic/nrf5x,
nxp/lpc,
nxp/mcx,
stmicro/stm32,
texasinstruments/msp430,
raspberrypi/rp2xxx,
wch/ch32v,
no_hal/stm32_l031,
]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: ${{ env.ZIG_VERSION }}
- name: Build Examples
run: zig build -Doptimize=ReleaseSmall --summary all
working-directory: examples/${{ matrix.example_dir }}

validate-foundation-libc:
name: Validate Foundation Libc
name: Test Foundation Libc
if: false # TODO: fix foundation libc
continue-on-error: true
runs-on: ${{ matrix.os }}
strategy:
Expand All @@ -228,50 +221,25 @@ jobs:
uses: mlugg/setup-zig@v2
with:
version: ${{ env.ZIG_VERSION }}
- name: Generate and validate packages
working-directory: modules/foundation-libc
- name: Generate and test packages
working-directory: modules/foundation-libc/test
run: |
zig build validate
zig build test

build-website:
name: Build Website
continue-on-error: true
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.1
version: master
- name: Build Website
run: zig build
working-directory: website

dry-run-packaging:
name: Dry Run Packaging
continue-on-error: true
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: ${{ env.ZIG_VERSION }}
- name: Dry Run Packaging
run: |
MICROZIG_VERSION=$(zig build package -- get-version)
echo microzig version: $MICROZIG_VERSION
zig build package -- http://localhost:8000
python3 -m http.server --directory boxzer-out &
sleep 5

cd tools/package-test
zig fetch --save=microzig http://localhost:8000/${MICROZIG_VERSION}/microzig.tar.gz
zig build -Doptimize=ReleaseSmall

jobs -p | xargs kill
42 changes: 0 additions & 42 deletions .github/workflows/deploy.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/drivers.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: drivers
name: Drivers
on:
push:
branches: [main]
Expand All @@ -20,7 +20,7 @@ jobs:
- name: Setup Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.1
version: master

- name: Run Test Suite
working-directory: drivers
Expand Down
Loading
Loading