Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
  • Loading branch information
richardlau committed Jun 29, 2021
commit 7cf157e9adc4271ebf412f4a3324ed4a02143fa0
4 changes: 2 additions & 2 deletions .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,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
Expand Down