name: CI with sysroot compiled in release mode

on:
  push:
    branches:
      - master
  pull_request:

permissions:
  contents: read

env:
  # Enable backtraces for easier debugging
  RUST_BACKTRACE: 1
  # For the run-make tests.
  LLVM_BIN_DIR: /usr/bin

jobs:
  build:
    runs-on: ubuntu-24.04

    strategy:
      fail-fast: false
      matrix:
        commands: [
          "--test-successful-rustc --nb-parts 2 --current-part 0",
          "--test-successful-rustc --nb-parts 2 --current-part 1",
        ]

    steps:
    - uses: actions/checkout@v4

    # `rustup show` installs from rust-toolchain.toml
    - name: Setup rust toolchain
      run: rustup show

    - name: Setup rust cache
      uses: Swatinem/rust-cache@v2

    - name: Install packages
      # `llvm-14-tools` is needed to install the `FileCheck` binary which is used for run-make tests.
      run: sudo apt-get install ninja-build ripgrep llvm-14-tools llvm

    - name: Download artifact
      run: curl -LO https://github.com/rust-lang/gcc/releases/latest/download/gcc-15.deb

    - name: Setup path to libgccjit
      run: |
          sudo dpkg --force-overwrite -i gcc-15.deb
          echo 'gcc-path = "/usr/lib/"' > config.toml

    # Some run-make tests fail if we use our forked GCC because it doesn't
    # bundle libstdc++, so we switch to gcc-14 to have a GCC that has
    # libstdc++.
    - name: Set default GCC to gcc-14
      run: sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-14 30

    - name: Set env
      run: |
        echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV

    - name: Build
      run: |
        ./y.sh prepare --only-libcore
        ./y.sh build --sysroot --release --release-sysroot
        ./y.sh test --cargo-tests
        ./y.sh clean all

    - name: Prepare dependencies
      run: |
        git config --global user.email "user@example.com"
        git config --global user.name "User"
        ./y.sh prepare

    - name: Run tests
      run: |
        # FIXME(antoyo): we cannot enable LTO for stdarch tests currently because of some failing LTO tests using proc-macros.
        CG_RUSTFLAGS="-Cembed-bitcode=yes" ./y.sh test --release --clean --release-sysroot --build-sysroot --keep-lto-tests ${{ matrix.commands }}

    - name: LTO test
      run: |
        CHANNEL="release" ./y.sh cargo build --release --manifest-path tests/hello-world/Cargo.toml
        call_found=$(objdump -dj .text tests/hello-world/target/release/hello_world | grep -c "call .*mylib.*my_func" ) ||:
        if [ $call_found -gt 0 ]; then
          echo "ERROR: call my_func found in asm"
          echo "Test is done with LTO enabled, hence inlining should occur across crates"
          exit 1
        fi

    - name: Cross-language LTO test
      run: |
        pushd tests/cross_lang_lto
        gcc -c -flto add.c -masm=intel -fPIC -O3
        ar rcs libadd.a add.o
        popd

        CHANNEL="release" CG_RUSTFLAGS="-L native=. -Clinker-plugin-lto -Clinker=gcc" ./y.sh cargo build --release --manifest-path tests/cross_lang_lto/Cargo.toml
        call_found=$(objdump -dj .text tests/cross_lang_lto/target/release/cross_lang_lto | grep -c "call .*my_add" ) ||:
        if [ $call_found -gt 0 ]; then
          echo "ERROR: call my_add found in asm"
          echo "Test is done with cross-language LTO enabled, hence inlining should occur across object files"
          exit 1
        fi

  # Summary job for the merge queue.
  # ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
  success_release:
    needs: [build]
    # We need to ensure this job does *not* get skipped if its dependencies fail,
    # because a skipped job is considered a success by GitHub. So we have to
    # overwrite `if:`. We use `!cancelled()` to ensure the job does still not get run
    # when the workflow is canceled manually.
    if: ${{ !cancelled() }}
    runs-on: ubuntu-latest
    steps:
      # Manually check the status of all dependencies. `if: failure()` does not work.
      - name: Conclusion
        run: |
          # Print the dependent jobs to see them in the CI log
          jq -C <<< '${{ toJson(needs) }}'
          # Check if all jobs that we depend on (in the needs array) were successful.
          jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
