diff --git a/.github/ensure-builder/action.yml b/.github/ensure-builder/action.yml index 753c2e6b6ec..ab2a9e95d39 100644 --- a/.github/ensure-builder/action.yml +++ b/.github/ensure-builder/action.yml @@ -69,21 +69,24 @@ runs: # Set up a context for this run - name: Copy Repo to Builder shell: bash + env: + UNPACK: | + [ -d ~/run-$RUN_ID ] || ( + mkdir -p ~/run-$RUN_ID-git && + cd ~/run-$RUN_ID-git && tar xzf - && + git config --global advice.detachedHead false && + git clone ~/run-$RUN_ID-git/.git ~/run-$RUN_ID && + echo ${{ env.BUILD_INSTANCE_SSH_KEY }} | base64 --decode > ~/.ssh/build_instance_key && + chmod 600 ~/.ssh/build_instance_key + ) run: | sudo shutdown -P ${{ steps.select_instance.outputs.ttl }} set -x # detect run folder if ! scripts/run_on_builder "[ -d ~/run-$RUN_ID ]" ; then echo "Copying local repo to spot" - tar czf - .git | scripts/run_on_builder \ - "mkdir -p ~/run-$RUN_ID-git && cd ~/run-$RUN_ID-git && tar xzf -" || true - scripts/run_on_builder " - echo "Unpacking repo" - git config --global advice.detachedHead false - git clone ~/run-$RUN_ID-git/.git ~/run-$RUN_ID - echo ${{ env.BUILD_INSTANCE_SSH_KEY }} | base64 --decode > ~/.ssh/build_instance_key - chmod 600 ~/.ssh/build_instance_key - " || true + (tar czf - .git || true) | scripts/run_on_builder \ + "flock ~/git.lock bash -c '$UNPACK'" fi - name: Attach EBS Cache Disk diff --git a/yarn-project/README.md b/yarn-project/README.md index 9c4c5010812..11437af9c9d 100644 --- a/yarn-project/README.md +++ b/yarn-project/README.md @@ -48,7 +48,7 @@ Consider installing the Prettier and ESLint extensions if using VSCode. Configur ## Package.json inheritance -To simplify the management of all package.json files, we have a custom script that injects the contents of `package.common.json` into all packages that reference it via the `inherits` custom field. To run the script, just run +To simplify the management of all package.json files, we have a custom script that injects the contents of `package.common.json` into all packages that reference it via the `inherits` custom field. To run the script, just run: ``` yarn prepare