name: Sims
# Sims workflow runs multiple types of simulations (nondeterminism, import-export, after-import, multi-seed-short)
# This workflow will run on all Pull Requests, if a .go, .mod or .sum file have been changed.
# The simulations can be skipped if the commit message contains the 'skip-sims' string.
on:
  pull_request:
  push:
    branches:
      - development

jobs:
  cleanup-runs:
    runs-on: ubuntu-latest
    if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/development'"
    steps:
      - uses: rokroskar/workflow-run-cleanup-action@master
        env:
          GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
  # install-runsim:
  #   runs-on: ubuntu-latest
  #   if: "!contains(github.event.head_commit.message, 'skip-sims')"
  #   steps:
  #     - uses: actions/setup-go@v2.1.2
  #     - name: install runsim
  #       run: |
  #         export GO111MODULE="on" && go get github.com/cosmos/tools/cmd/runsim@v1.0.0
  #     - uses: actions/cache@v2.1.1
  #       with:
  #         path: ~/go/bin
  #         key: ${{ runner.os }}-go-runsim-binary
  # test-sim-nondeterminism:
  #   runs-on: ubuntu-latest
  #   if: "!contains(github.event.head_commit.message, 'skip-sims')"
  #   needs: install-runsim
  #   steps:
  #     - uses: actions/checkout@v2
  #     - uses: technote-space/get-diff-action@v3.2
  #       with:
  #         SUFFIX_FILTER: |
  #           .go
  #           .mod
  #           .sum
  #         SET_ENV_NAME_INSERTIONS: 1
  #         SET_ENV_NAME_LINES: 1
  #     - uses: actions/cache@v2.1.1
  #       with:
  #         path: ~/go/bin
  #         key: ${{ runner.os }}-go-runsim-binary
  #       if: "env.GIT_DIFF != ''"
  #     - name: test-sim-nondeterminism
  #       run: |
  #         make test-sim-nondeterminism
  #       if: "env.GIT_DIFF != ''"
  # test-sim-import-export:
  #   runs-on: ubuntu-latest
  #   needs: install-runsim
  #   steps:
  #     - uses: actions/checkout@v2
  #     - uses: technote-space/get-diff-action@v3.2
  #       with:
  #         SUFFIX_FILTER: |
  #           .go
  #           .mod
  #           .sum
  #         SET_ENV_NAME_INSERTIONS: 1
  #         SET_ENV_NAME_LINES: 1
  #     - uses: actions/cache@v2.1.1
  #       with:
  #         path: ~/go/bin
  #         key: ${{ runner.os }}-go-runsim-binary
  #       if: "env.GIT_DIFF != ''"
  #     - name: test-sim-import-export
  #       run: |
  #         make test-sim-import-export
  #       if: "env.GIT_DIFF != ''"
  # test-sim-after-import:
  #   runs-on: ubuntu-latest
  #   if: "!contains(github.event.head_commit.message, 'skip-sims')"
  #   needs: install-runsim
  #   steps:
  #     - uses: actions/checkout@v2
  #     - uses: technote-space/get-diff-action@v3.2
  #       with:
  #         SUFFIX_FILTER: |
  #           .go
  #           .mod
  #           .sum
  #         SET_ENV_NAME_INSERTIONS: 1
  #         SET_ENV_NAME_LINES: 1
  #     - uses: actions/cache@v2.1.1
  #       with:
  #         path: ~/go/bin
  #         key: ${{ runner.os }}-go-runsim-binary
  #       if: "env.GIT_DIFF != ''"
  #     - name: test-sim-after-import
  #       run: |
  #         make test-sim-after-import
  #       if: "env.GIT_DIFF != ''"
  # test-sim-multi-seed-short:
  #   runs-on: ubuntu-latest
  #   if: "!contains(github.event.head_commit.message, 'skip-sims')"
  #   needs: install-runsim
  #   steps:
  #     - uses: actions/checkout@v2
  #     - uses: technote-space/get-diff-action@v3.2
  #       with:
  #         SUFFIX_FILTER: |
  #           .go
  #           .mod
  #           .sum
  #         SET_ENV_NAME_INSERTIONS: 1
  #         SET_ENV_NAME_LINES: 1
  #     - uses: actions/cache@v2.1.1
  #       with:
  #         path: ~/go/bin
  #         key: ${{ runner.os }}-go-runsim-binary
  #       if: "env.GIT_DIFF != ''"
  #     - name: test-sim-multi-seed-short
  #       run: |
  #         make test-sim-multi-seed-short
  #       if: "env.GIT_DIFF != ''"
