@@ -38,14 +38,25 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IDF_TARGET=$(echo "$INPUT_TARGET" | tr '[:upper:]' '[:lower:]' | tr -d '_-')
|
IDF_TARGET=$(echo "$INPUT_TARGET" | tr '[:upper:]' '[:lower:]' | tr -d '_-')
|
||||||
|
WORKDIR="/project/${INPUT_PATH}"
|
||||||
|
|
||||||
echo "Workspace: $GITHUB_WORKSPACE"
|
CID=$(docker create -t \
|
||||||
ls -la "$GITHUB_WORKSPACE" # sanity check: is the checkout actually there?
|
|
||||||
|
|
||||||
docker run --rm -t \
|
|
||||||
-e IDF_TARGET="$IDF_TARGET" \
|
-e IDF_TARGET="$IDF_TARGET" \
|
||||||
-v "$GITHUB_WORKSPACE":/project \
|
-w "$WORKDIR" \
|
||||||
-w "/project/${INPUT_PATH}" \
|
|
||||||
$INPUT_EXTRA \
|
$INPUT_EXTRA \
|
||||||
"${INPUT_IMAGE}:${INPUT_VERSION}" \
|
"${INPUT_IMAGE}:${INPUT_VERSION}" \
|
||||||
/bin/bash -c "git config --global --add safe.directory '*' && ${INPUT_COMMAND}"
|
/bin/bash -c "git config --global --add safe.directory '*' && ${INPUT_COMMAND}")
|
||||||
|
|
||||||
|
cleanup() { docker rm -f "$CID" >/dev/null 2>&1 || true; }
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
docker cp "$GITHUB_WORKSPACE/." "$CID:/project"
|
||||||
|
|
||||||
|
status=0
|
||||||
|
docker start -a "$CID" || status=$?
|
||||||
|
|
||||||
|
# copy build output back so later steps (artifact upload etc.) can use it
|
||||||
|
mkdir -p "$GITHUB_WORKSPACE/${INPUT_PATH}"
|
||||||
|
docker cp "$CID:$WORKDIR/build/." "$GITHUB_WORKSPACE/${INPUT_PATH}/build" 2>/dev/null || true
|
||||||
|
|
||||||
|
exit $status
|
||||||
Reference in New Issue
Block a user