name: smoke
on:
  push:
    branches:
      - master
  pull_request:
    paths:
      - '.github/workflows/smoke**'
      - '**Makefile'
      - '**.go'
      - '**.proto'
      - 'go.mod'
      - 'go.sum'
jobs:

  smoke:
    name: Run multi node smoke test
    runs-on: ubuntu-latest
    steps:

    - uses: actions/checkout@v6

    - uses: actions/setup-go@v6
      with:
        go-version: '1.25'
        check-latest: true

    - name: build
      run: make bin-docker CGO_ENABLED=1 BUILD_ARGS=-race

    - name: setup docker image
      working-directory: ./.github/workflows/smoke
      run: ./build.sh

    - name: run smoke
      working-directory: ./.github/workflows/smoke
      run: ./smoke.sh

    - name: setup relay docker image
      working-directory: ./.github/workflows/smoke
      run: ./build-relay.sh

    - name: run smoke relay
      working-directory: ./.github/workflows/smoke
      run: ./smoke-relay.sh

    - name: setup docker image for P256
      working-directory: ./.github/workflows/smoke
      run: NAME="smoke-p256" CURVE=P256 ./build.sh

    - name: run smoke-p256
      working-directory: ./.github/workflows/smoke
      run: NAME="smoke-p256" ./smoke.sh

    timeout-minutes: 10
