Initial exploration of GH actions.
This commit is contained in:
parent
c1cc46c3b2
commit
41115274e1
3 changed files with 112 additions and 0 deletions
57
.github/actions/west/Dockerfile
vendored
Normal file
57
.github/actions/west/Dockerfile
vendored
Normal file
|
@ -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"]
|
16
.github/actions/west/action.yml
vendored
Normal file
16
.github/actions/west/action.yml
vendored
Normal file
|
@ -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 }}
|
39
.github/workflows/build.yml
vendored
Normal file
39
.github/workflows/build.yml
vendored
Normal file
|
@ -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 a new issue