Pete Johanson
5 years ago
3 changed files with 112 additions and 0 deletions
@ -0,0 +1,57 @@ |
|||||||
|
FROM debian:stable-slim |
||||||
|
|
||||||
|
RUN apt-get -y update && \ |
||||||
|
apt-get -y upgrade && \ |
||||||
|
apt-get install --no-install-recommends -y \ |
||||||
|
wget \ |
||||||
|
ca-certificates \ |
||||||
|
autoconf \ |
||||||
|
automake \ |
||||||
|
build-essential \ |
||||||
|
ccache \ |
||||||
|
device-tree-compiler \ |
||||||
|
dfu-util \ |
||||||
|
file \ |
||||||
|
g++ \ |
||||||
|
gcc \ |
||||||
|
gcc-multilib \ |
||||||
|
git \ |
||||||
|
iproute2 \ |
||||||
|
libpcap-dev \ |
||||||
|
libtool \ |
||||||
|
make \ |
||||||
|
ninja-build \ |
||||||
|
python3-dev \ |
||||||
|
python3-pip \ |
||||||
|
python3-setuptools \ |
||||||
|
xz-utils && \ |
||||||
|
rm -rf /var/lib/apt/lists/* |
||||||
|
|
||||||
|
ARG ZSDK_VERSION=0.11.2 |
||||||
|
RUN wget -q "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${ZSDK_VERSION}/zephyr-toolchain-arm-${ZSDK_VERSION}-setup.run" && \ |
||||||
|
sh "zephyr-toolchain-arm-${ZSDK_VERSION}-setup.run" --quiet -- -d /opt/toolchains/zephyr-sdk-${ZSDK_VERSION} && \ |
||||||
|
rm "zephyr-toolchain-arm-${ZSDK_VERSION}-setup.run" |
||||||
|
|
||||||
|
ARG CMAKE_VERSION=3.16.2 |
||||||
|
RUN wget -q https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh && \ |
||||||
|
chmod +x cmake-${CMAKE_VERSION}-Linux-x86_64.sh && \ |
||||||
|
./cmake-${CMAKE_VERSION}-Linux-x86_64.sh --skip-license --prefix=/usr/local && \ |
||||||
|
rm -f ./cmake-${CMAKE_VERSION}-Linux-x86_64.sh |
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive |
||||||
|
|
||||||
|
RUN wget -q https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/master/scripts/requirements.txt && \ |
||||||
|
wget -q https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/master/scripts/requirements-base.txt && \ |
||||||
|
wget -q https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/master/scripts/requirements-build-test.txt && \ |
||||||
|
wget -q https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/master/scripts/requirements-doc.txt && \ |
||||||
|
wget -q https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/master/scripts/requirements-run-test.txt && \ |
||||||
|
wget -q https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/master/scripts/requirements-extras.txt && \ |
||||||
|
pip3 install wheel && \ |
||||||
|
pip3 install -r requirements.txt && \ |
||||||
|
pip3 install west && \ |
||||||
|
pip3 install sh |
||||||
|
|
||||||
|
ENV ZEPHYR_TOOLCHAIN_VARIANT=zephyr |
||||||
|
ENV ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-${ZSDK_VERSION} |
||||||
|
|
||||||
|
ENTRYPOINT ["west"] |
@ -0,0 +1,16 @@ |
|||||||
|
name: "Zephyr West" |
||||||
|
description: 'Action incorporating Zephyr dependencies and West build tool' |
||||||
|
inputs: |
||||||
|
command: # id of input |
||||||
|
description: 'Which west command to execute' |
||||||
|
required: true |
||||||
|
default: 'build' |
||||||
|
command-args: # id of input |
||||||
|
description: 'Extra arguments for the west command' |
||||||
|
required: false |
||||||
|
runs: |
||||||
|
using: 'docker' |
||||||
|
image: 'Dockerfile' |
||||||
|
args: |
||||||
|
- ${{ inputs.command }} |
||||||
|
- ${{ inputs.command-args }} |
@ -0,0 +1,39 @@ |
|||||||
|
on: [push] |
||||||
|
|
||||||
|
jobs: |
||||||
|
build: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
name: Basic build of the ZMK firmware |
||||||
|
steps: |
||||||
|
# To use this repository's private action, |
||||||
|
# you must check out the repository |
||||||
|
- name: Checkout |
||||||
|
uses: actions/checkout@v2 |
||||||
|
- name: West Init |
||||||
|
uses: ./.github/actions/zephyr-west # Uses an action in the root directory |
||||||
|
id: west-init |
||||||
|
with: |
||||||
|
command: 'init' |
||||||
|
command-args: '-l .' |
||||||
|
- name: West Update |
||||||
|
uses: ./.github/actions/zephyr-west # Uses an action in the root directory |
||||||
|
id: west-update |
||||||
|
with: |
||||||
|
command: 'update' |
||||||
|
- name: West Config Zephyr Base |
||||||
|
uses: ./.github/actions/zephyr-west # Uses an action in the root directory |
||||||
|
id: west-config |
||||||
|
with: |
||||||
|
command: 'config' |
||||||
|
command-args: '--global zephyr.base-prefer configfile' |
||||||
|
- name: West Zephyr Export |
||||||
|
uses: ./.github/actions/zephyr-west # Uses an action in the root directory |
||||||
|
id: west-zephyr-export |
||||||
|
with: |
||||||
|
command: 'zephyr-export' |
||||||
|
- name: West Build |
||||||
|
uses: ./.github/actions/zephyr-west # Uses an action in the root directory |
||||||
|
id: west-zephyr-export |
||||||
|
with: |
||||||
|
command: 'build' |
||||||
|
command-args: '-b nucleo_wb55rg -- -DSHIELD=petejohanson_handwire' |
Loading…
Reference in new issue