sof/zephyr/docker-run.sh

71 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2022 Intel Corporation. All rights reserved.
# set -x
# Tip: if you're not really sure what image version you're using,
# invoke this script with sample commands like these:
#
# ./sof/zephyr/docker-run.sh ls -l /opt/toolchains/
# ./sof/zephyr/docker-run.sh /opt/sparse/bin/sparse --version
# ./sof/zephyr/docker-run.sh /bin/bash
#
# etc.
# https://github.com/zephyrproject-rtos/docker-image/commits/master
#
# "latest" is just the default tag used when you don't specify any. To
# use this script with a image other than the one officially tagged
# "latest", simply overwrite the official tag. Example:
#
# docker tag ghcr.io/zephyrproject-rtos/zephyr-build:v0.26.6
# ghcr.io/zephyrproject-rtos/zephyr-build:latest
#
# "latest" is just a regular tag like "v0.26.6", it may or many not name
# the most recent image.
#
# To automatically restore the official "latest" tag, just delete it:
#
# docker image rm ghcr.io/zephyrproject-rtos/zephyr-build:latest
#
# (The actual image stays in the docker cache, only the tag is deleted)
set -e
SOF_TOP="$(cd "$(dirname "$0")"/.. && /bin/pwd)"
main()
{
# Log container versions
# Header
docker images --digests | grep REPOSITORY
docker images --digests | grep -i zephyr | sort
if tty --quiet; then
SOF_DOCKER_RUN="$SOF_DOCKER_RUN --tty"
fi
cd "$SOF_TOP"
run_command lsb_release -a
set -x
run_command "$@"
}
run_command()
{
# zephyr-build:v0.26.6 has /opt/toolchains/zephyr-sdk-0.16.4
# https://hub.docker.com/r/zephyrprojectrtos/zephyr-build/tags
#
# Keep this SDK version identical to the one in
# .github/workflows/zephyr.yml#Windows
docker run -i -v "$(west topdir)":/zep_workspace \
--workdir /zep_workspace \
$SOF_DOCKER_RUN \
--env REAL_CC --env http_proxy --env https_proxy \
ghcr.io/zephyrproject-rtos/zephyr-build:v0.26.6 \
./sof/scripts/sudo-cwd.sh "$@"
}
main "$@"