name: Sims release/0.50.x # 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 on: schedule: - cron: "0 0,12 * * *" release: types: [published] concurrency: group: ci-${{ github.ref }}-sims-050 cancel-in-progress: true jobs: build: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, 'skip-sims')" steps: - uses: actions/checkout@v4 with: ref: "release/v0.50.x" - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - run: make build install-runsim: permissions: contents: none runs-on: ubuntu-latest needs: build steps: - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - name: Install runsim run: go install github.com/cosmos/tools/cmd/runsim@v1.0.0 - uses: actions/cache@v4 with: path: ~/go/bin key: ${{ runner.os }}-go-runsim-binary test-sim-import-export: runs-on: ubuntu-latest needs: [build, install-runsim] timeout-minutes: 60 steps: - uses: actions/checkout@v4 with: ref: "release/v0.50.x" - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - uses: actions/cache@v4 with: path: ~/go/bin key: ${{ runner.os }}-go-runsim-binary - name: test-sim-import-export run: | make test-sim-import-export test-sim-after-import: runs-on: ubuntu-latest needs: [build, install-runsim] steps: - uses: actions/checkout@v4 with: ref: "release/v0.50.x" - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - uses: actions/cache@v4 with: path: ~/go/bin key: ${{ runner.os }}-go-runsim-binary - name: test-sim-after-import run: | make test-sim-after-import test-sim-multi-seed-short: runs-on: ubuntu-latest needs: [build, install-runsim] steps: - uses: actions/checkout@v4 with: ref: "release/v0.50.x" - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - uses: actions/cache@v4 with: path: ~/go/bin key: ${{ runner.os }}-go-runsim-binary - name: test-sim-multi-seed-short run: | make test-sim-multi-seed-short sims-notify-success: needs: [test-sim-multi-seed-short, test-sim-after-import, test-sim-import-export] runs-on: ubuntu-latest if: ${{ success() }} steps: - uses: actions/checkout@v4 - name: Get previous workflow status uses: ./.github/actions/last-workflow-status id: last_status with: github_token: ${{ secrets.GITHUB_TOKEN }} - name: Notify Slack on success if: ${{ steps.last_status.outputs.last_status == 'failure' }} uses: rtCamp/action-slack-notify@v2.3.2 env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} SLACK_CHANNEL: sdk-sims SLACK_USERNAME: Sim Tests release/0.50.x SLACK_ICON_EMOJI: ":white_check_mark:" SLACK_COLOR: good SLACK_MESSAGE: 0.50.x Sims are passing SLACK_FOOTER: "" sims-notify-failure: permissions: contents: none needs: [test-sim-multi-seed-short, test-sim-after-import, test-sim-import-export] runs-on: ubuntu-latest if: ${{ failure() }} steps: - name: Notify Slack on failure uses: rtCamp/action-slack-notify@v2.3.2 env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} SLACK_CHANNEL: sdk-sims SLACK_USERNAME: Sim Tests release/0.50.x SLACK_ICON_EMOJI: ":skull:" SLACK_COLOR: danger SLACK_MESSAGE: 0.50.x Sims are failing SLACK_FOOTER: ""