name: Self-hosted runner (nightly-past-ci-caller)

on:
  schedule:
    - cron: "17 2,14 * * *"
  push:
    branches:
      - run_past_ci*

jobs:
  get_number:
    name: Get number
    runs-on: ubuntu-22.04
    outputs:
      run_number: ${{ steps.get_number.outputs.run_number }}
    steps:
      - name: Get number
        id: get_number
        run: |
          echo "${{ github.run_number }}"
          echo "$(python3 -c 'print(int(${{ github.run_number }}) % 10)')"
          echo "run_number=$(python3 -c 'print(int(${{ github.run_number }}) % 10)')" >> $GITHUB_OUTPUT

  run_past_ci_tensorflow_2-11:
    name: TensorFlow 2.11
    needs: get_number
    if: needs.get_number.outputs.run_number == 3 && (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.11"
      sha: ${{ github.sha }}
    secrets: inherit

  run_past_ci_tensorflow_2-10:
    name: TensorFlow 2.10
    needs: get_number
    if: needs.get_number.outputs.run_number == 4 && (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.10"
      sha: ${{ github.sha }}
    secrets: inherit

  run_past_ci_tensorflow_2-9:
    name: TensorFlow 2.9
    needs: get_number
    if: needs.get_number.outputs.run_number == 5 && (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.9"
      sha: ${{ github.sha }}
    secrets: inherit

  run_past_ci_tensorflow_2-8:
    name: TensorFlow 2.8
    needs: get_number
    if: needs.get_number.outputs.run_number == 6 && (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.8"
      sha: ${{ github.sha }}
    secrets: inherit

  run_past_ci_tensorflow_2-7:
    name: TensorFlow 2.7
    needs: get_number
    if: needs.get_number.outputs.run_number == 7 && (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.7"
      sha: ${{ github.sha }}
    secrets: inherit

  run_past_ci_tensorflow_2-6:
    name: TensorFlow 2.6
    needs: get_number
    if: needs.get_number.outputs.run_number == 8 && (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.6"
      sha: ${{ github.sha }}
    secrets: inherit

  run_past_ci_tensorflow_2-5:
    name: TensorFlow 2.5
    needs: get_number
    if: needs.get_number.outputs.run_number == 9 &&  (cancelled() != true) && ((github.event_name == 'push') && startsWith(github.ref_name, 'run_past_ci'))
    uses: ./.github/workflows/self-past-caller.yml
    with:
      framework: tensorflow
      version: "2.5"
      sha: ${{ github.sha }}
    secrets: inherit
