diff --git a/.gitea/workflows/release-nuget.yml b/.gitea/workflows/release-nuget.yml index 1600e3b..03f40c4 100644 --- a/.gitea/workflows/release-nuget.yml +++ b/.gitea/workflows/release-nuget.yml @@ -163,7 +163,6 @@ jobs: rm -rf "$package_dir" mkdir -p "$package_dir" container_id="$(docker run -d \ - -v "${workspace}:/src" \ -w /src \ -e VERSION \ -e PACKAGE_OUTPUT="$version_package_output" \ @@ -175,6 +174,7 @@ jobs: "$SDK_IMAGE" \ sleep 3600)" trap 'docker rm -f "$container_id" >/dev/null 2>&1 || true' EXIT INT TERM + docker cp "${workspace}/." "${container_id}:/src/" docker exec "$container_id" sh -c ' set -eu package_output="/src/${PACKAGE_OUTPUT#./}" @@ -242,8 +242,7 @@ jobs: fi workspace="${WORKSPACE_DIR:-${GITHUB_WORKSPACE:-$PWD}}" cd "$workspace" - docker run --rm \ - -v "${workspace}:/src" \ + container_id="$(docker run -d \ -w /src \ -e NUGET_API_KEY \ -e VERSION \ @@ -251,6 +250,11 @@ jobs: -e NUGET_PUSH_PARALLELISM \ -e PACKAGE_OUTPUT="${PACKAGE_OUTPUT%/}/${VERSION}" \ "$SDK_IMAGE" \ + sleep 3600)" + trap 'docker rm -f "$container_id" >/dev/null 2>&1 || true' EXIT INT TERM + docker exec "$container_id" mkdir -p "/src/${PACKAGE_OUTPUT#./}/${VERSION}" + docker cp "${workspace}/${PACKAGE_OUTPUT#./}/${VERSION}/." "${container_id}:/src/${PACKAGE_OUTPUT#./}/${VERSION}/" + docker exec "$container_id" \ sh -c ' set -eu package_dir="/src/${PACKAGE_OUTPUT#./}" @@ -269,6 +273,8 @@ jobs: --skip-duplicate '\'' sh ' + docker rm -f "$container_id" + trap - EXIT INT TERM - name: Push packages to nuget.org if: ${{ gitea.event_name == 'workflow_dispatch' && inputs.push_to_nuget_org == true && inputs.package_version != '' }} @@ -284,8 +290,7 @@ jobs: fi workspace="${WORKSPACE_DIR:-${GITHUB_WORKSPACE:-$PWD}}" cd "$workspace" - docker run --rm \ - -v "${workspace}:/src" \ + container_id="$(docker run -d \ -w /src \ -e NUGET_ORG_API_KEY \ -e VERSION \ @@ -293,6 +298,11 @@ jobs: -e NUGET_PUSH_PARALLELISM \ -e PACKAGE_OUTPUT="${PACKAGE_OUTPUT%/}/${VERSION}" \ "$SDK_IMAGE" \ + sleep 3600)" + trap 'docker rm -f "$container_id" >/dev/null 2>&1 || true' EXIT INT TERM + docker exec "$container_id" mkdir -p "/src/${PACKAGE_OUTPUT#./}/${VERSION}" + docker cp "${workspace}/${PACKAGE_OUTPUT#./}/${VERSION}/." "${container_id}:/src/${PACKAGE_OUTPUT#./}/${VERSION}/" + docker exec "$container_id" \ sh -c ' set -eu package_dir="/src/${PACKAGE_OUTPUT#./}" @@ -311,3 +321,5 @@ jobs: --skip-duplicate '\'' sh ' + docker rm -f "$container_id" + trap - EXIT INT TERM