Skip to content

Feature/compatibility with zephyr4.4 #49

Feature/compatibility with zephyr4.4

Feature/compatibility with zephyr4.4 #49

Workflow file for this run

name: Zephyr development containers
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
base:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
strategy:
matrix:
sdk: [1.0.0]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Log into GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push base image
id: build-and-push
uses: docker/build-push-action@v5
with:
context: ./zephyr-base
file: ./zephyr-base/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
platforms: linux/amd64,linux/arm64
provenance: true
tags: ghcr.io/${{ github.repository_owner }}/zephyr:base-${{ matrix.sdk }}SDK
cache-from: type=gha,scope=zephyr-base-${{ matrix.sdk }}
cache-to: type=gha,mode=max,scope=zephyr-base-${{ matrix.sdk }}
build-args: |
ZEPHYR_SDK_VERSION=${{ matrix.sdk }}
gnu:
needs: [base]
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
strategy:
matrix:
sdk: [1.0.0]
toolchain:
[
{ arch: "aarch64-zephyr-elf", nick: "aarch64" },
{ arch: "arc-zephyr-elf", nick: "arc" },
{ arch: "arc64-zephyr-elf", nick: "arc64" },
{ arch: "arm-zephyr-eabi", nick: "arm" },
{ arch: "microblazeel-zephyr-elf", nick: "microblazeel" },
{ arch: "mips-zephyr-elf", nick: "mips" },
{ arch: "riscv64-zephyr-elf", nick: "riscv64" },
{ arch: "rx-zephyr-elf", nick: "rx" },
{ arch: "sparc-zephyr-elf", nick: "sparc" },
{ arch: "x86_64-zephyr-elf", nick: "x86_64" },
{
arch: "xtensa-amd_acp_6_0_adsp_zephyr-elf",
nick: "xtensa-amd_acp_6_0_adsp",
},
{
arch: "xtensa-amd_acp_7_0_adsp_zephyr-elf",
nick: "xtensa-amd_acp_7_0_adsp",
},
{
arch: "xtensa-amd_acp_7_3_adsp_zephyr-elf",
nick: "xtensa-amd_acp_7_3_adsp",
},
{ arch: "xtensa-dc233c_zephyr-elf", nick: "xtensa-dc233c" },
{
arch: "xtensa-espressif_esp32_zephyr-elf",
nick: "xtensa-espressif_esp32",
},
{
arch: "xtensa-espressif_esp32s2_zephyr-elf",
nick: "xtensa-espressif_esp32s2",
},
{
arch: "xtensa-espressif_esp32s3_zephyr-elf",
nick: "xtensa-espressif_esp32s3",
},
{
arch: "xtensa-intel_ace15_mtpm_zephyr-elf",
nick: "xtensa-intel_ace15_mtpm",
},
{
arch: "xtensa-intel_ace30_ptl_zephyr-elf",
nick: "xtensa-intel_ace30_ptl",
},
{
arch: "xtensa-intel_tgl_adsp_zephyr-elf",
nick: "xtensa-intel_tgl_adsp",
},
{
arch: "xtensa-mtk_mt818x_adsp_zephyr-elf",
nick: "xtensa-mtk_mt818x_adsp",
},
{
arch: "xtensa-mtk_mt8195_adsp_zephyr-elf",
nick: "xtensa-mtk_mt8195_adsp",
},
{
arch: "xtensa-mtk_mt8196_adsp_zephyr-elf",
nick: "xtensa-mtk_mt8196_adsp",
},
{
arch: "xtensa-mtk_mt8365_adsp_zephyr-elf",
nick: "xtensa-mtk_mt8365_adsp",
},
{
arch: "xtensa-nxp_imx_adsp_zephyr-elf",
nick: "xtensa-nxp_imx_adsp",
},
{
arch: "xtensa-nxp_imx8m_adsp_zephyr-elf",
nick: "xtensa-nxp_imx8m_adsp",
},
{
arch: "xtensa-nxp_imx8ulp_adsp_zephyr-elf",
nick: "xtensa-nxp_imx8ulp_adsp",
},
{
arch: "xtensa-nxp_rt500_adsp_zephyr-elf",
nick: "xtensa-nxp_rt500_adsp",
},
{
arch: "xtensa-nxp_rt600_adsp_zephyr-elf",
nick: "xtensa-nxp_rt600_adsp",
},
{
arch: "xtensa-nxp_rt700_hifi1_zephyr-elf",
nick: "xtensa-nxp_rt700_hifi1",
},
{
arch: "xtensa-nxp_rt700_hifi4_zephyr-elf",
nick: "xtensa-nxp_rt700_hifi4",
},
{
arch: "xtensa-sample_controller_zephyr-elf",
nick: "xtensa-sample_controller",
},
{
arch: "xtensa-sample_controller32_zephyr-elf",
nick: "xtensa-sample_controller32",
},
]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Log into GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push arch-specific images
id: build-and-push
uses: docker/build-push-action@v5
with:
context: ./zephyr
file: ./zephyr/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
platforms: linux/amd64,linux/arm64
provenance: true
tags: ghcr.io/${{ github.repository_owner }}/zephyr:${{ matrix.toolchain.nick }}-${{ matrix.sdk }}SDK
cache-from: type=gha,scope=zephyr-arch-${{ matrix.sdk }}-${{ matrix.toolchain.nick }}
cache-to: type=gha,mode=max,scope=zephyr-arch-${{ matrix.sdk }}-${{ matrix.toolchain.nick }}
build-args: |
BASE_IMAGE=ghcr.io/embeddedcontainers/zephyr:base-${{ matrix.sdk }}SDK
ZEPHYR_SDK_TOOLCHAINS=-t ${{ matrix.toolchain.arch }}
ZEPHYR_SDK_VERSION=${{ matrix.sdk }}
llvm:
needs: [base]
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
strategy:
matrix:
sdk: [1.0.0]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Log into GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push arch-specific images
id: build-and-push
uses: docker/build-push-action@v5
with:
context: ./zephyr
file: ./zephyr/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
platforms: linux/amd64,linux/arm64
provenance: true
tags: ghcr.io/${{ github.repository_owner }}/zephyr:llvm-${{ matrix.sdk }}SDK
cache-from: type=gha,scope=zephyr-llvm-${{ matrix.sdk }}
cache-to: type=gha,mode=max,scope=zephyr-llvm-${{ matrix.sdk }}
build-args: |
BASE_IMAGE=ghcr.io/embeddedcontainers/zephyr:base-${{ matrix.sdk }}SDK
ZEPHYR_SDK_TOOLCHAINS=-l
ZEPHYR_SDK_VERSION=${{ matrix.sdk }}
posix:
needs: [base]
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
strategy:
matrix:
sdk: [1.0.0]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Log into GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push base image
id: build-and-push
uses: docker/build-push-action@v5
with:
context: ./zephyr-posix
file: ./zephyr-posix/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
platforms: linux/amd64
provenance: true
tags: ghcr.io/${{ github.repository_owner }}/zephyr:posix-${{ matrix.sdk }}SDK
cache-from: type=gha,scope=zephyr-posix-${{ matrix.sdk }}
cache-to: type=gha,mode=max,scope=zephyr-posix-${{ matrix.sdk }}
build-args: |
BASE_IMAGE=ghcr.io/embeddedcontainers/zephyr:base-${{ matrix.sdk }}SDK
ZEPHYR_SDK_VERSION=${{ matrix.sdk }}