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