diff options
author | Richard Lau <rlau@redhat.com> | 2021-06-29 12:04:18 +0300 |
---|---|---|
committer | Michaƫl Zasso <targos@protonmail.com> | 2021-09-04 13:44:21 +0300 |
commit | 5c6ab719f2917ab33a680156338955d78d6d1f39 (patch) | |
tree | 9b0dd7995ffef93ca2b3b71562d2e6992dfce4b6 /.github | |
parent | 31163ed9ee501e9b85983b054671746697b2a8a0 (diff) |
build: shorten path used in tarball build workflow
Shorten the path to the workspace for the GitHub Actions `build-tarball`
workflow to avoid `execvp: printf: Argument list too long` errors from
`make`.
GitHub currently runs workflows in a `/home/runner/work/my-repo/my-repo`
directory where `my-repo` is the repository name and is repeated twice
(the second is from the git checkout). Some of the command lines in the
Node.js build, e.g. the `ar` command to create static libraries, pass
several fully qualified paths to filenames so the workflow directory is
repeat many times. The most recent V8 update added more files to the
command and has now tipped the command line length over the maximum
allowed when using forks of the `node` repository with a longer name
(e.g. `node-auto-test` and the private fork used to prepare security
releases).
Use GitHub's `RUNNER_TEMP` environment variable to extract the source
tarball into the temporary directory on the GitHub runner. This is
currently `/home/runner/work/_temp` and is not dependent on the name
of the repository.
PR-URL: https://github.com/nodejs/node/pull/39192
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/build-tarball.yml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index 8a3daa70588..3e57a08d98b 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -57,8 +57,8 @@ jobs: name: tarballs - name: Extract tarball run: | - tar xzf tarballs/*.tar.gz - echo "TAR_DIR=`basename tarballs/*.tar.gz .tar.gz`" >> $GITHUB_ENV + tar xzf tarballs/*.tar.gz -C $RUNNER_TEMP + echo "TAR_DIR=$RUNNER_TEMP/`basename tarballs/*.tar.gz .tar.gz`" >> $GITHUB_ENV - name: Copy directories needed for testing run: | cp -r tools/node_modules $TAR_DIR/tools |