@@ -30,12 +30,17 @@ runs:
30
30
set -e
31
31
32
32
# Symlink build scripts from main to improve security when testing PRs
33
- cd "$GITHUB_WORKSPACE/__build"
34
- yarn install
35
- rm -rf build node_modules
36
- ln -s "$GITHUB_WORKSPACE/__build/build" build
37
- ln -s "$GITHUB_WORKSPACE/__build/node_modules" node_modules
38
- cd "$GITHUB_WORKSPACE"
33
+ if [ -d "$GITHUB_WORKSPACE/__build/build" ]; then
34
+ cd "$GITHUB_WORKSPACE/__build"
35
+ yarn install
36
+ cd "$GITHUB_WORKSPACE"
37
+ rm -rf build node_modules
38
+ ln -s "$GITHUB_WORKSPACE/__build/build" build
39
+ ln -s "$GITHUB_WORKSPACE/__build/node_modules" node_modules
40
+ else
41
+ echo "WARNING: Using build/vscdc from ${{ github.ref }} instead of main."
42
+ yarn install
43
+ fi
39
44
40
45
# Run test build
41
46
GIT_BRANCH=$(echo "${{ github.ref }}" | grep -oP 'refs/(heads|tags)/\K(.+)')
74
79
# The dev container CLI handles this automatically but we're not using it.
75
80
local_uid=$(id -u)
76
81
local_gid=$(id -g)
82
+ echo "(*) Update container user UID/GID..."
77
83
docker exec -u root ${container_name} /bin/sh -c "\
78
- echo \"(*) Update user UID/GID...\" \
79
- && groupmod -g ${local_gid} ${{ inputs.user }} \
84
+ groupmod -g ${local_gid} ${{ inputs.user }} \
80
85
&& usermod -u ${local_uid} -g ${local_gid} ${{ inputs.user }}"
81
86
82
87
# Fake out existence of extensions, VS Code Server
@@ -87,12 +92,11 @@ runs:
87
92
dev_container_tmp="/tmp/${dev_container_relative_path}/devcontainer.json"
88
93
sed -i'.bak' -e "s/\\/\\/.*/ /g" "${dev_container_tmp}"
89
94
extensions="$(jq '.extensions' --compact-output "${dev_container_tmp}" | tr -d '[' | tr -d ']' | tr ',' '\n' 2>/dev/null || echo -n '')"
90
- echo "(*) Extensions in devcontainer.json: ${extensions}"
91
95
docker exec -u "${{ inputs.user }}" ${container_name} /bin/sh -c "\
92
- echo \"(*) Creating folders in \$HOME...\" \
93
- && mkdir -p \$HOME/.vscode-server/bin \$HOME/.vscode-server/extensions \
96
+ mkdir -p \$HOME/.vscode-server/bin \$HOME/.vscode-server/extensions \
94
97
&& cd \$HOME/.vscode-server/extensions \
95
- && if [ \"${extensions}\" != '' ]; then echo \"${extensions}\" | xargs -n 1 mkdir -p; fi"
98
+ && if [ \"${extensions}\" != '' ]; then echo \"${extensions}\" | xargs -n 1 mkdir -p; fi \
99
+ && find \$HOME/.vscode-server/ -type d"
96
100
97
101
# Run actual test
98
102
echo "(*) Running test..."
0 commit comments