name: CI

on:
  pull_request:

concurrency:
  group: "tests-${{ github.ref }}"
  cancel-in-progress: true

jobs:
  run_starlark:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Setup Kurtosis
        run: |
          echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
          sudo apt update
          sudo apt install kurtosis-cli
          kurtosis analytics disable

      - name: Run Starlark
        run: kurtosis run ${{ github.workspace }}

  run_with_args:
    strategy:
      matrix:
        file_name:
          [
            "./.github/tests/mev.yaml",
            "./.github/tests/mev-mock.yaml",
            "./.github/tests/mix-with-tools.yaml",
            "./.github/tests/mix-persistence.yaml",
            "./network_params.yaml"
          ]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Setup Kurtosis
        run: |
          echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
          sudo apt update
          sudo apt install kurtosis-cli
          kurtosis analytics disable

      - name: Run Starlark
        run: kurtosis run ${{ github.workspace }} --args-file ${{ matrix.file_name }}

  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Setup Kurtosis
        run: |
          echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
          sudo apt update
          sudo apt install kurtosis-cli
          kurtosis analytics disable

      - name: Kurtosis Lint
        run: kurtosis lint ${{ github.workspace }}
