# Please read the TESTING file before modifying this file

# When the same index version is used by various stable and devel `alr`
# versions, we want to make sure all of them understand the index properly.
# Besides, there are

name: Build Crate (alr dev)
# Build the crate with a native toolchain from Alire

env:
  CHECKS_ORG: alire-project
  CHECKS_REPO: alire-index-checks
  PACMAN: C:\Users\runneradmin\AppData\Local\alire\cache\msys64\usr\bin\pacman

on:
  pull_request:
    paths:
      - 'index/**.toml'

jobs:

  build:
    name: ${{ matrix.os }}
    env:
      JOB_NAME: ${{ matrix.os }}

    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        os:
          - macos-13          # amd64
          - macos-latest      # arm64
          - ubuntu-latest
          - ubuntu-24.04-arm
          - windows-latest

    steps:
    - name: Check out alire-index
      uses: actions/checkout@v4
      with:
        fetch-depth: 0
        # Needed to be able to diff and obtain changed files. Furthermore, we
        # need the full history or else grafted partial branches confuse the
        # changed files detectors (in both scripts/gh-build-crate.sh and
        # check-author action).

    - name: Check out alire-index-checks
      uses: actions/checkout@v4
      with:
        repository: ${{env.CHECKS_ORG}}/${{env.CHECKS_REPO}}
        ref: ${{github.base_ref}}
        path: ${{env.CHECKS_REPO}}

    - name: Set up devel `alr`
      uses: alire-project/setup-alire@v5
      with:
        branch: 'master'

    - name: Install tar from msys2 (Windows) # Git tar in Actions VM does not seem to work)
      if: matrix.os == 'windows-latest'
      run: ${{env.PACMAN}} --noconfirm -S tar

    - name: Test crate
      run: ${{env.CHECKS_REPO}}/scripts/gh-build-crate.sh
      shell: bash
      env:
        GITHUB_EVENT_PATH: ${{ github.event_path }}
        GITHUB_REPOSITORY: ${{ github.repository }}
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to apply labels/comment
