name: stdarch tests with sysroot compiled in release mode

on:
  push:
    branches:
      - master
  pull_request:

permissions:
  contents: read

env:
  # Enable backtraces for easier debugging
  RUST_BACKTRACE: 1

jobs:
  build:
    runs-on: ubuntu-24.04

    strategy:
      fail-fast: false
      matrix:
        cargo_runner: [
          "sde -future -rtm_mode full --",
          "",
        ]

    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
      run: sudo apt-get install ninja-build ripgrep

    # FIXME: remove when we have binutils version 2.43 in the repo.
    - name: Install more recent binutils
      run: |
        echo "deb http://archive.ubuntu.com/ubuntu plucky main universe" | sudo tee /etc/apt/sources.list.d/plucky-copies.list
        sudo apt-get update
        sudo apt-get install binutils

    - name: Install Intel Software Development Emulator
      if: ${{ matrix.cargo_runner }}
      run: |
          mkdir intel-sde
          cd intel-sde
          version=10.8.0-2026-03-15
          url_path=915934
          dir=sde-external-$version-lin
          file=$dir.tar.xz
          wget https://downloadmirror.intel.com/$url_path/$file
          tar xvf $file
          sudo mkdir /usr/share/intel-sde
          sudo cp -r $dir/* /usr/share/intel-sde
          sudo ln -s /usr/share/intel-sde/sde /usr/bin/sde
          sudo ln -s /usr/share/intel-sde/sde64 /usr/bin/sde64

    - name: Set config
      run: |
        echo 'download-gccjit = true' > config.toml

    - name: Build
      run: |
        ./y.sh prepare --only-libcore
        ./y.sh build --sysroot --release --release-sysroot

    - name: Clean
      if: ${{ !matrix.cargo_runner }}
      run: |
        ./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
      if: ${{ !matrix.cargo_runner }}
      run: |
        ./y.sh test --release --clean --release-sysroot --build-sysroot --mini-tests --std-tests --test-libcore
        ./y.sh test --cargo-tests

    - name: Run stdarch tests
      if: ${{ !matrix.cargo_runner }}
      run: |
        CHANNEL=release TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml

    - name: Run stdarch tests
      if: ${{ matrix.cargo_runner }}
      run: |
        # FIXME: these tests fail when the sysroot is compiled with LTO because of a missing symbol in proc-macro.
        # FIXME: remove --skip test_tile_ when it's implemented.
        STDARCH_TEST_SKIP_FUNCTION="xsave,xsaveopt,xsave64,xsaveopt64" STDARCH_TEST_EVERYTHING=1 CHANNEL=release CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="${{ matrix.cargo_runner }}" TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml -- --skip rtm --skip tbm --skip sse4a --skip test_tile_

  # Summary job for the merge queue.
  # ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
  success_stdarch:
    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) }}'
