summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKinesis Keyboards <37431414+KinesisCorporation@users.noreply.github.com>2022-05-23 12:18:12 -0700
committerGitHub <noreply@github.com>2022-05-23 12:18:12 -0700
commit392a9417c2e134c03a1e874f6890510736d27574 (patch)
tree11938a3d7358bc19661feab532548a4d3fd29958
parent68fe75d403909988c100e39ac8775a6642b3931b (diff)
parent9517b0ccff3bad971bb002697f3905b1108ca4e2 (diff)
Merge pull request #4 from ryanwinchester/V1.0
Add local build option with Docker and README
-rw-r--r--.gitignore1
-rw-r--r--Dockerfile19
-rw-r--r--README.md24
-rwxr-xr-xbin/build.sh21
-rw-r--r--firmware/.gitkeep0
-rwxr-xr-xrun.sh8
-rwxr-xr-xsetup.sh5
7 files changed, 78 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..205598e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/firmware/*.uf2
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..dd98a29
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,19 @@
+FROM zmkfirmware/zmk-build-arm:2.4
+
+RUN mkdir -p /app/firmware
+
+WORKDIR /app
+
+COPY config/west.yml config/west.yml
+
+# West Init
+RUN west init -l config
+# West Update
+RUN west update
+# West Zephyr export
+RUN west zephyr-export
+
+COPY config config
+COPY bin/build.sh ./
+
+CMD ["./build.sh"]
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..16001e8
--- /dev/null
+++ b/README.md
@@ -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.
diff --git a/bin/build.sh b/bin/build.sh
new file mode 100755
index 0000000..0e3eb10
--- /dev/null
+++ b/bin/build.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+set -e
+
+PWD=$(pwd)
+TIMESTAMP=$(date -u +"%Y%m%d%H%M%S")
+
+# 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
diff --git a/firmware/.gitkeep b/firmware/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/firmware/.gitkeep
diff --git a/run.sh b/run.sh
new file mode 100755
index 0000000..4fc5cac
--- /dev/null
+++ b/run.sh
@@ -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
diff --git a/setup.sh b/setup.sh
new file mode 100755
index 0000000..96a478e
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -e
+
+docker build --tag zmk .