-
Notifications
You must be signed in to change notification settings - Fork 653
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit adds a Container which holds the CCS and SDK so they can be used to build the various firmwares. The pipeline can be later expanded to also actually build the firmware(s). Signed-off-by: Olliver Schinagl <[email protected]>
- Loading branch information
Showing
4 changed files
with
166 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
* | ||
!**/firmware.patch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
name: Create and publish Container image | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
tags: | ||
- 'v*' | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
jobs: | ||
build-and-push-image: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Login to Container registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: | | ||
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
tags: | | ||
type=ref,event=branch | ||
type=ref,event=pr | ||
type=edge | ||
type=semver,pattern={{version}} | ||
type=semver,pattern={{major}}.{{minor}} | ||
type=semver,pattern={{major}} | ||
flavor: | | ||
latest=auto | ||
- name: Build and push | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: . | ||
file: Containerfile | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
load: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
# SPDX-License-Identifier: MIT | ||
# | ||
# Copyright (C) 2024 Olliver Schinagl <[email protected]> | ||
|
||
ARG UBUNTU_VERSION="22.04" | ||
ARG TARGET_ARCH="library" | ||
|
||
FROM index.docker.io/${TARGET_ARCH}/ubuntu:${UBUNTU_VERSION} | ||
|
||
ARG SLF2_COMPONENTS="PF_CC2X" | ||
|
||
# Remember to supply/update both version fields. | ||
ARG SLF2_VERSION="7.10.00.98" | ||
ARG SLF2_VERSION_PATH="7_10_00_98" | ||
ADD "https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-BPlR3djvTV/${SLF2_VERSION}/simplelink_cc13xx_cc26xx_sdk_${SLF2_VERSION_PATH}__linux.zip" "/tmp/ccs_install/" | ||
|
||
ARG CCS_VERSION="12.3.0" | ||
ARG CCS_RELEASE="00005" | ||
ADD "https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-J1VdearkvK/${CCS_VERSION}/CCS${CCS_VERSION}.${CCS_RELEASE}_linux-x64.tar.gz" "/tmp/ccs_install/" | ||
|
||
COPY "coordinator/Z-Stack_3.x.0/firmware.patch" "/build/Z-Stack_3.x.0-coordinator.patch" | ||
|
||
ENV CCS_VERSION=${CCS_VERSION}.${CCS_RELEASE} | ||
ENV SLF2_VERSION=${SLF2_VERSION} | ||
ENV SLF2_COMPONENTS=${SLF2_COMPONENTS} | ||
RUN apt-get update && apt-get install --yes \ | ||
'git' \ | ||
'libncurses5' \ | ||
'build-essential' \ | ||
'cmake' \ | ||
'libc6-i386' \ | ||
'libgconf-2-4' \ | ||
'libtinfo5' \ | ||
'libusb-0.1-4' \ | ||
'python3' \ | ||
'unzip' \ | ||
&& \ | ||
rm -f -r '/var/cache/apt' && \ | ||
rm -f -r '/var/lib/apt' && \ | ||
tar -xvf "/tmp/ccs_install/CCS${CCS_VERSION:?}_linux-x64.tar.gz" -C '/tmp/ccs_install' && \ | ||
"/tmp/ccs_install/CCS${CCS_VERSION}_linux-x64/ccs_setup_${CCS_VERSION}.run" \ | ||
--enable-components "${SLF2_COMPONENTS:?}" \ | ||
--mode unattended \ | ||
--prefix '/opt/ti/' \ | ||
&& \ | ||
unzip "/tmp/ccs_install/simplelink_cc13xx_cc26xx_sdk_${SLF2_VERSION_PATH:?}__linux.zip" \ | ||
-d '/build' \ | ||
&& \ | ||
ln -f -s \ | ||
"/build/simplelink_cc13xx_cc26xx_sdk_${SLF2_VERSION_PATH}" \ | ||
'/build/simplelink_cc13xx_cc26xx_sdk' && \ | ||
rm -f -r '/build/simplelink_cc13xx_cc26xx_sdk/docs' && \ | ||
rm -f -r '/build/simplelink_cc13xx_cc26xx_sdk/examples/nortos' && \ | ||
rm -f -r '/tmp/ccs_install' && \ | ||
echo 'Done' | ||
|
||
ENV PATH="/opt/ti/ccs/eclipse/:${PATH}" | ||
ENV HOME="/build/simplelink_cc13xx_cc26xx_sdk/" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters