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.1 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.1 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.1 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.1 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 != ''"