[all-commits] [llvm/llvm-project] f2c5a1: [CMake][Release] Add stage2-package target (#89517)

Tom Stellard via All-commits all-commits at lists.llvm.org
Wed May 8 19:49:32 PDT 2024


  Branch: refs/heads/release/18.x
  Home:   https://github.com/llvm/llvm-project
  Commit: f2c5a10e1f27768b031b8b54cb056fd4e261ad8f
      https://github.com/llvm/llvm-project/commit/f2c5a10e1f27768b031b8b54cb056fd4e261ad8f
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M clang/cmake/caches/Release.cmake

  Log Message:
  -----------
  [CMake][Release] Add stage2-package target (#89517)

This target will be used to generate the release binary package for
uploading to GitHub.

(cherry picked from commit a38f201f1ec70c2b1f3cf46e7f291c53bb16753e)


  Commit: ce88e86e428be7eea517201ddee8d62150ae8de4
      https://github.com/llvm/llvm-project/commit/ce88e86e428be7eea517201ddee8d62150ae8de4
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M clang/cmake/caches/Release.cmake

  Log Message:
  -----------
  [CMake][Release] Refactor cache file and use two stages for non-PGO builds (#89812)

Completely refactor the cache file to simplify it and remove unnecessary
variables. The main functional change here is that the non-PGO builds
now use two stages, so `ninja -C build stage2-package` can be used with
both PGO and non-PGO builds.

(cherry picked from commit 6473fbf2d68c8486d168f29afc35d3e8a6fabe69)


  Commit: b7e2397c54b7cddac8fa188e68073f78e895a57a
      https://github.com/llvm/llvm-project/commit/b7e2397c54b7cddac8fa188e68073f78e895a57a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M clang/cmake/caches/Release.cmake
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  [CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139)

Set this in the cache file directly instead of via the test-release.sh
script so that the release builds can be reproduced with just the cache
file.

(cherry picked from commit 53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf)


  Commit: d9661e11996def3c85975f72a1432c93015c5592
      https://github.com/llvm/llvm-project/commit/d9661e11996def3c85975f72a1432c93015c5592
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  [Github] Add repository checks to release-binaries workflow (#84437)

This patch adds repository checks to the release-binaries workflow jobs.
People were observing that the job was running on a schedule in their
forks. This only happens on old forks, but those probably exist in great
number given how prolific LLVM is. This is also good practice anyways,
on top of solving the direct problem of these jobs running with the cron
schedule on people's forks.

(cherry picked from commit 9f5be5f0092a636274953389cd5771c45ac0a568)


  Commit: 0ec1bc454456d4cc1bc85d96b122fd9b73a937a8
      https://github.com/llvm/llvm-project/commit/0ec1bc454456d4cc1bc85d96b122fd9b73a937a8
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows: Fixes for building the release binaries (#83694)

Since aa02002491333c42060373bc84f1ff5d2c76b4ce we weren't installing the
correct dependencies, and since 2836d8edbfbcd461b25101ed58f93c862d65903a
we must pass a custom token to github-upload-release.py for verifying
permissions.

(cherry picked from commit 51207756b0692f325cf75560185cf0336239b3e0)


  Commit: 211cdc65a1fbdcb18665e0076aa8aae43aa0d20e
      https://github.com/llvm/llvm-project/commit/211cdc65a1fbdcb18665e0076aa8aae43aa0d20e
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows: Fix incorrect input name in release-binaries.yml (#84604)

In aa02002491333c42060373bc84f1ff5d2c76b4ce the input name was changed
from tag to release-version, but the code was never updated.

(cherry picked from commit 8d220d109d28dac352c563ab062fb72132b7eca1)


  Commit: d1d7131906d9c912fad01078483ba0248d16feb2
      https://github.com/llvm/llvm-project/commit/d1d7131906d9c912fad01078483ba0248d16feb2
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml
    M .github/workflows/set-release-binary-outputs.sh

  Log Message:
  -----------
  [Workflows] Re-write release-binaries workflow (#89521)

This updates the release-binaries workflow so that the different build
stages are split across multiple jobs. This saves money by reducing the
time spent on the larger github runners and also makes it easier to
debug, because now it's possible to build a smaller release package
(with clang and lld) using only the free GitHub runners.

The workflow no longer uses the test-release.sh script but instead uses
the Release.cmake cache. This gives the workflow more flexibility and
ensures that the binary package will always be created even if the tests
fail.

This idea to split the stages comes from the "LLVM Precommit CI through
Github Actions" RFC:

https://discourse.llvm.org/t/rfc-llvm-precommit-ci-through-github-actions/76456
(cherry picked from commit abac98479b81cc0cc717bb6cdbae6f774e3b0232)


Compare: https://github.com/llvm/llvm-project/compare/dd3aa6d0e9a8...d1d7131906d9

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list