name: Stress Test
on:
  push:
    branches: [ master ]
    tags:
      - v*
  pull_request: {}
  schedule:
    # run every 2 hours
    - cron:  '12 */2 * * *'
concurrency: 
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
jobs:
  stress-test:
    name: Stress Test
    if: ${{ github.repository == 'kopia/kopia' }}
    runs-on: ubuntu-latest
    steps:
    - name: Check out repository
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      with:
        fetch-depth: 0
    - name: Set up Go
      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
      with:
        go-version-file: 'go.mod'
        check-latest: true
      id: go
    - name: Stress Test
      run: make stress-test
    - name: Upload Logs
      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
      with:
        name: logs
        path: .logs/**/*.log
        if-no-files-found: ignore
      if: ${{ always() }}