name: Pulsarctl
on:
  pull_request:
    branches:
      - '*'
    path-ignores:
      - 'docs/**'
      - 'README.md'
      - 'CONTRIBUTING.md'
jobs:
  function-tests:
    runs-on: ubuntu-latest
    steps:
    - name: Login SN docker hub
      run: docker login -u="${{ secrets.DOCKER_USER }}" -p="${{ secrets.DOCKER_PASSWORD}}"
    - name: Set up Go 1.22
      uses: actions/setup-go@v1
      with:
        go-version: 1.22
      id: go
    - name: Check out code into the Go module directory
      uses: actions/checkout@v2
    - name: Function tests
      run: scripts/run-integration-tests.sh function
    - name: Setup tmate session
      if: failure()
      uses: mxschmitt/action-tmate@v3
  sink-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Login SN docker hub
        run: docker login -u="${{ secrets.DOCKER_USER }}" -p="${{ secrets.DOCKER_PASSWORD}}"
      - name: Set up Go 1.22
        uses: actions/setup-go@v1
        with:
          go-version: 1.22
        id: go
      - name: Check out code into the Go module directory
        uses: actions/checkout@v2
      - name: Sink tests
        run: scripts/run-integration-tests.sh sink
  source-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Login SN docker hub
        run: docker login -u="${{ secrets.DOCKER_USER }}" -p="${{ secrets.DOCKER_PASSWORD}}"
      - name: Set up Go 1.22
        uses: actions/setup-go@v1
        with:
          go-version: 1.22
        id: go
      - name: Check out code into the Go module directory
        uses: actions/checkout@v2
      - name: Source tests
        run: scripts/run-integration-tests.sh source