Skip to content

Commit

Permalink
Add local build option with Docker and README
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanwinchester committed May 20, 2022
1 parent 68fe75d commit 068b1ff
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/firmware/*.uf2
10 changes: 10 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM zmkfirmware/zmk-build-arm:2.4

RUN mkdir -p /app/firmware

WORKDIR /app

COPY config config
COPY bin/build.sh ./

CMD ["./build.sh"]
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# ADV360-PRO-ZMK

## To build Firmware in GitHub Actions

### Setup

1. Fork this repo.
2. Enable GitHub Actions on your fork.

### Build firmware

1. Push a commit to trigger the build.
2. Download the artifact.

## To build Firmware locally using Docker

### Setup

1. Execute `setup.sh`.

### Build firmware

1. Execute `run.sh`
2. Check the `firmware` directory for the latest firmware build.
27 changes: 27 additions & 0 deletions bin/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash

set -e

PWD=$(pwd)
TIMESTAMP=$(date -u +"%Y%m%d%H%M%S")

# West Init
west init -l config
# West Update
west update
# West Zephyr export
west zephyr-export
# West Build (left)
west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${PWD}/config"
# Adv360 Left DTS File
cat -n build/left/zephyr/adv360_left.dts.pre.tmp
# Adv360 Left Kconfig file
cat build/left/zephyr/.config | grep -v "^#" | grep -v "^$"
# West Build (right)
west build -s zmk/app -d build/right -b adv360_right -- -DZMK_CONFIG="${PWD}/config"
# Adv360 Right DTS File
cat -n build/right/zephyr/adv360_right.dts.pre.tmp
# Adv360 Right Kconfig file
cat build/right/zephyr/.config | grep -v "^#" | grep -v "^$"
# Rename zmk.uf2
cp build/left/zephyr/zmk.uf2 ./firmware/${TIMESTAMP}-left.uf2 && cp build/right/zephyr/zmk.uf2 ./firmware/${TIMESTAMP}-right.uf2
Empty file added firmware/.gitkeep
Empty file.
8 changes: 8 additions & 0 deletions run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

set -e

docker run -it --name zmk zmk
docker cp zmk:/app/firmware/ ./
docker stop zmk
docker rm zmk
5 changes: 5 additions & 0 deletions setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

set -e

docker build --tag zmk .

0 comments on commit 068b1ff

Please sign in to comment.