Skip to content

Commit

Permalink
Add dependencies to CI
Browse files Browse the repository at this point in the history
  • Loading branch information
mattnite committed Jan 18, 2025
1 parent a24f576 commit 8485666
Showing 1 changed file with 85 additions and 68 deletions.
153 changes: 85 additions & 68 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,6 @@ env:
ZIG_VERSION: ${{ github.ref == 'refs/heads/zig-master' && 'master' || '0.13.0' }}

jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v1
with:
version: ${{ env.ZIG_VERSION }}
- name: Build
run: zig build -Doptimize=ReleaseSmall

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

unit-test-regz:
name: Unit Test Regz
strategy:
Expand Down Expand Up @@ -74,47 +43,76 @@ jobs:
run: zig build test
working-directory: tools/uf2

build-website:
name: Build Website
stm32-gen-check:
name: Check that stm32 generated code is up to date
runs-on: ubuntu-latest
needs:
- unit-test-regz
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Zig
uses: mlugg/setup-zig@v1
with:
version: ${{ env.ZIG_VERSION }}
- name: Generate Code
run: zig build -Dgenerate
working-directory: port/stmicro/stm32
- name: Check for code diffs
run: |
if [[ $(git status --porcelain | grep -v '^??') ]]; then
echo "Code differences detected:"
git diff
echo "Please commit or fix these changes to proceed."
exit 1
else
echo "No code differences detected."
fi
build:
name: Build
runs-on: ${{ matrix.os }}
needs:
- stm32-gen-check
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v1
with:
version: ${{ env.ZIG_VERSION }}
- name: Build Website
run: zig build
working-directory: website
- name: Build
run: zig build -Doptimize=ReleaseSmall

dry-run-packaging:
name: Dry Run Packaging
runs-on: macos-latest
unit-test-ports:
name: Unit Test Ports
runs-on: ${{ matrix.os }}
needs:
- stm32-gen-check
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
port_dir: [gigadevice/gd32, raspberrypi/rp2xxx, stmicro/stm32]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v1
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 8000 --directory boxzer-out &
sleep 1
cd tools/package-test
zig fetch --save=microzig http://localhost:8000/${MICROZIG_VERSION}/microzig.tar.gz
zig build -Doptimize=ReleaseSmall
jobs -p | xargs kill
- name: Unit Test Ports
run: zig build test
working-directory: port/${{ matrix.port_dir }}

build-examples:
name: Build Examples
runs-on: ubuntu-latest
needs:
- unit-test-ports
- build-examples
strategy:
matrix:
example_dir:
Expand All @@ -140,26 +138,45 @@ jobs:
run: zig build -Doptimize=ReleaseSmall --summary all
working-directory: examples/${{ matrix.example_dir }}

stm32-gen-check:
name: Check that stm32 generated code is up to date


build-website:
name: Build Website
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v1
with:
version: ${{ env.ZIG_VERSION }}
- name: Generate Code
run: zig build -Dgenerate
working-directory: port/stmicro/stm32
- name: Check for code diffs
- name: Build Website
run: zig build
working-directory: website

dry-run-packaging:
name: Dry Run Packaging
runs-on: macos-latest
needs:
- unit-test-ports
- build-examples
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Zig
uses: mlugg/setup-zig@v1
with:
version: ${{ env.ZIG_VERSION }}
- name: Dry Run Packaging
run: |
if [[ $(git status --porcelain | grep -v '^??') ]]; then
echo "Code differences detected:"
git diff
echo "Please commit or fix these changes to proceed."
exit 1
else
echo "No code differences detected."
fi
MICROZIG_VERSION=$(zig build package -- get-version)
echo microzig version: $MICROZIG_VERSION
zig build package -- http://localhost:8000
python3 -m http.server 8000 --directory boxzer-out &
sleep 1
cd tools/package-test
zig fetch --save=microzig http://localhost:8000/${MICROZIG_VERSION}/microzig.tar.gz
zig build -Doptimize=ReleaseSmall
jobs -p | xargs kill

0 comments on commit 8485666

Please sign in to comment.