diff --git a/.github/workflows/sizediff-install-pkgs.sh b/.github/workflows/sizediff-install-pkgs.sh new file mode 100755 index 00000000..f50433fd --- /dev/null +++ b/.github/workflows/sizediff-install-pkgs.sh @@ -0,0 +1,12 @@ +# Command that's part of sizediff.yml. This is put in a separate file so that it +# still works after checking out the dev branch (that is, when going from LLVM +# 16 to LLVM 17 for example, both Clang 16 and Clang 17 are installed). + +echo 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main' | sudo tee /etc/apt/sources.list.d/llvm.list +wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - +sudo apt-get update +sudo apt-get install --no-install-recommends -y \ + llvm-16-dev \ + clang-16 \ + libclang-16-dev \ + lld-16 diff --git a/.github/workflows/sizediff.yml b/.github/workflows/sizediff.yml index df734077..c3db3811 100644 --- a/.github/workflows/sizediff.yml +++ b/.github/workflows/sizediff.yml @@ -23,15 +23,7 @@ jobs: fetch-depth: 0 # fetch all history (no sparse checkout) submodules: true - name: Install apt dependencies - run: | - echo 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main' | sudo tee /etc/apt/sources.list.d/llvm.list - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo apt-get update - sudo apt-get install --no-install-recommends -y \ - llvm-16-dev \ - clang-16 \ - libclang-16-dev \ - lld-16 + run: ./.github/workflows/sizediff-install-pkgs.sh - name: Restore LLVM source cache uses: actions/cache@v3 id: cache-llvm-source @@ -66,6 +58,9 @@ jobs: run: | git reset --hard origin/dev git checkout --no-recurse-submodules `git merge-base HEAD origin/dev` + - name: Install apt dependencies on the dev branch + # this is only needed on a PR that changes the LLVM version + run: ./.github/workflows/sizediff-install-pkgs.sh - name: Build tinygo binary for the dev branch run: go install - name: Determine binary sizes on the dev branch