name: CI on: pull_request: push: tags: - "**" branches: - main schedule: - cron: "0 0 * * *" env: BB_CI: 1 jobs: ci: strategy: fail-fast: false matrix: os: [ ubuntu-latest ] BIRTH_CMAKE_BUILD_TYPE: [ Debug, Release ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Build and test (Packaged LLVM) shell: bash env: BB_CI: 1 CMAKE_BUILD_TYPE: ${{matrix.BIRTH_CMAKE_BUILD_TYPE}} CLANG_PATH: clang-19 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 release: needs: ci strategy: fail-fast: false matrix: os: [ ubuntu-latest ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install shell: bash env: 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)/Release/cache/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) - name: Release (locally) if: ${{ (github.ref == 'refs/heads/main') }} shell: bash env: BB_CI: 1 run: | set -eux cp $HOME/bloat-buster-artifacts/releases/$(git rev-parse --abbrev-ref HEAD)/$(git rev-parse HEAD)/compiler $HOME/bloat-buster-artifacts/releases/main/ - name: Release (web) uses: akkuman/gitea-release-action@v1 if: ${{ (github.ref == 'refs/heads/main') }} env: NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18 with: files: |- /home/act_runner/bloat-buster-artifacts/releases/main/compiler