name: CI

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:
        libgccjit_version:
          - { gcc: "gcc-15.deb" }
          - { gcc: "gcc-15-without-int128.deb" }
        commands: [
          "--std-tests",
          # FIXME: re-enable asm tests when GCC can emit in the right syntax.
          # "--asm-tests",
          "--test-libcore",
          "--extended-rand-tests",
          "--extended-regex-example-tests",
          "--extended-regex-tests",
          "--test-successful-rustc --nb-parts 2 --current-part 0",
          "--test-successful-rustc --nb-parts 2 --current-part 1",
          "--projects",
        ]

    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 asm tests.
      run: sudo apt-get install ninja-build ripgrep llvm-14-tools llvm

    - name: Install rustfmt & clippy
      run: rustup component add rustfmt clippy

    - name: Download artifact
      run: curl -LO https://github.com/rust-lang/gcc/releases/latest/download/${{ matrix.libgccjit_version.gcc }}

    - name: Setup path to libgccjit
      run: |
          sudo dpkg --force-overwrite -i ${{ matrix.libgccjit_version.gcc }}
          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: Cache rust repository
      ## We only clone the rust repository for rustc tests
      #if: ${{ contains(matrix.commands, 'rustc') }}
      #uses: actions/cache@v3
      #id: cache-rust-repository
      #with:
        #path: rust
        #key: ${{ runner.os }}-packages-${{ hashFiles('rust/.git/HEAD') }}

    - name: Prepare
      run: ./y.sh prepare --only-libcore

    - name: Check formatting
      run: ./y.sh fmt --check

    - name: clippy
      run: |
        cargo clippy --all-targets -- -D warnings
        cargo clippy --all-targets --no-default-features -- -D warnings
        cargo clippy --manifest-path build_system/Cargo.toml --all-targets -- -D warnings

    - name: Build
      run: |
        ./y.sh build --sysroot
        ./y.sh test --cargo-tests

    - name: Run y.sh cargo build
      run: |
        CARGO_PROFILE_DEV_LTO=no ./y.sh cargo build --manifest-path tests/hello-world/Cargo.toml

    - name: Clean
      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: Add more failing tests for GCC without 128-bit integers support
      if: ${{ matrix.libgccjit_version.gcc == 'gcc-15-without-int128.deb' }}
      run: cat tests/failing-ui-tests-without-128bit-integers.txt >> tests/failing-ui-tests.txt

    - name: Run tests
      run: |
        ./y.sh test --release --clean --build-sysroot --no-builtins-tests ${{ matrix.commands }}

  duplicates:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
      - run: python tools/check_intrinsics_duplicates.py

  spell_check:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
      - uses: crate-ci/typos@v1.32.0
      - uses: streetsidesoftware/cspell-action@v7

  build_system:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
      - name: Test build system
        run: |
          cd build_system
          cargo test

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