From bc4e399fa8021b2d0224f883febf30d5688644a6 Mon Sep 17 00:00:00 2001 From: David Gonzalez Martin Date: Tue, 24 Jun 2025 21:35:16 -0600 Subject: [PATCH] Add release scripts --- .gitea/workflows/main.yml | 16 ++++------------ ci/install.sh | 7 +++++++ ci/release.sh | 6 ++++++ ci/release_locally.sh | 10 ++++++++++ ci/reproduce.sh | 8 ++++++++ generate.sh | 5 ++++- 6 files changed, 39 insertions(+), 13 deletions(-) create mode 100755 ci/install.sh create mode 100755 ci/release.sh create mode 100755 ci/release_locally.sh create mode 100755 ci/reproduce.sh diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 0664e00..97de1a7 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -9,6 +9,7 @@ on: env: BB_CI: 1 + BUILD_DEBUG: 1 jobs: ci: @@ -29,11 +30,7 @@ jobs: CLANGXX_PATH: clang++-19 run: | set -eux - ./generate.sh - ./build.sh - ./build/bb test - mkdir -p $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/$CMAKE_BUILD_TYPE - mv ./self-hosted-bb-cache $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/$CMAKE_BUILD_TYPE/cache + ci/reproduce.sh release: needs: ci strategy: @@ -49,10 +46,7 @@ jobs: BB_CI: 1 run: | set -eux - mkdir -p $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD) - cp $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/Debug/cache/generic/debug_none_di/compiler/aggressively_optimize_for_speed_nodi/compiler $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic_debug - cp $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/Release/cache/generic/debug_none_di/compiler/aggressively_optimize_for_speed_nodi/compiler $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic - cp $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/Release/cache/native/debug_none_di/compiler/aggressively_optimize_for_speed_nodi/compiler $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_native + ci/install.sh - name: Release (locally) if: ${{ (github.ref == 'refs/heads/main') }} shell: bash @@ -60,9 +54,7 @@ jobs: BB_CI: 1 run: | set -eux - cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic_debug $HOME/bloat-buster-artifacts/releases/main/ - cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic $HOME/bloat-buster-artifacts/releases/main/ - cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_native $HOME/bloat-buster-artifacts/releases/main/ + ci/release.sh - name: Release (web) uses: akkuman/gitea-release-action@v1 if: ${{ (github.ref == 'refs/heads/main') }} diff --git a/ci/install.sh b/ci/install.sh new file mode 100755 index 0000000..16cd308 --- /dev/null +++ b/ci/install.sh @@ -0,0 +1,7 @@ +set -eux +mkdir -p $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD) +if [[ -n "${BUILD_DEBUG:-}" ]]; then + cp $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/Debug/cache/generic/debug_none_di/compiler/aggressively_optimize_for_speed_nodi/compiler $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic_debug +fi +cp $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/Release/cache/generic/debug_none_di/compiler/aggressively_optimize_for_speed_nodi/compiler $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic +cp $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/Release/cache/native/debug_none_di/compiler/aggressively_optimize_for_speed_nodi/compiler $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_native diff --git a/ci/release.sh b/ci/release.sh new file mode 100755 index 0000000..8e5ef24 --- /dev/null +++ b/ci/release.sh @@ -0,0 +1,6 @@ +set -eux +if [[ -n "${BUILD_DEBUG:-}" ]]; then + cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic_debug $HOME/bloat-buster-artifacts/releases/main/ +fi +cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_generic $HOME/bloat-buster-artifacts/releases/main/ +cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler_native $HOME/bloat-buster-artifacts/releases/main/ diff --git a/ci/release_locally.sh b/ci/release_locally.sh new file mode 100755 index 0000000..db6a3d8 --- /dev/null +++ b/ci/release_locally.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -eux +if [[ -n "${BUILD_DEBUG:-}" ]]; then + export BUILD_DEBUG + CMAKE_BUILD_TYPE=Debug ./reproduce.sh +fi +CMAKE_BUILD_TYPE=Release ./reproduce.sh +CMAKE_BUILD_TYPE=Release-assertions ./reproduce.sh +./install.sh +./release.sh diff --git a/ci/reproduce.sh b/ci/reproduce.sh new file mode 100755 index 0000000..7cd3b47 --- /dev/null +++ b/ci/reproduce.sh @@ -0,0 +1,8 @@ +set -eux +rm -rf bb-cache self-hosted-bb-cache || true +./generate.sh +./build.sh +./build/bb test +mkdir -p $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/$CMAKE_BUILD_TYPE +mv ./self-hosted-bb-cache $HOME/bloat-buster-artifacts/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/$CMAKE_BUILD_TYPE/cache + diff --git a/generate.sh b/generate.sh index 19d2188..94c34f3 100755 --- a/generate.sh +++ b/generate.sh @@ -2,9 +2,12 @@ set -eux if [[ -z "${BB_CI:-}" ]]; then + BB_CI=0 +fi + +if [[ -z "${CMAKE_BUILD_TYPE:-}" ]]; then CMAKE_BUILD_TYPE=Debug LLVM_CMAKE_BUILD_TYPE=Release - BB_CI=0 else LLVM_CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE fi