Add workflow dispatch condition to dev docker build (#8846) #30707
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
pull_request: | |
branches: | |
- "**" | |
push: | |
branches: | |
- "main" | |
- "concentrated-liquidity-main" | |
- "v[0-9]**" | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
get_diff: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Get git diff | |
uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.wasm | |
**/**.go | |
**/**.mod | |
**/**.sum | |
Makefile | |
Dockerfile | |
.github/workflows/test.yml | |
- name: Set output | |
id: vars | |
run: echo "git_diff=$GIT_DIFF" >> $GITHUB_OUTPUT | |
outputs: | |
git_diff: ${{ steps.vars.outputs.git_diff }} | |
go-split-test-files: | |
needs: get_diff | |
if: ${{ needs.get_diff.outputs.git_diff || github.actor == 'dependabot[bot]' || github.actor == 'mergify[bot]' }} | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: 🐿 Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Create a file with all core Cosmos SDK pkgs | |
run: | | |
go list \ | |
./... \ | |
./osmomath/... \ | |
./osmoutils/... \ | |
./x/ibc-hooks/...\ | |
./x/epochs \ | |
| grep -E -v 'tests/simulator|e2e' \ | |
> pkgs.txt | |
- name: Split pkgs into 4 files | |
run: | | |
split -d -n l/4 pkgs.txt pkgs.txt.part. | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: "${{ github.sha }}-00" | |
path: ./pkgs.txt.part.00 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: "${{ github.sha }}-01" | |
path: ./pkgs.txt.part.01 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: "${{ github.sha }}-02" | |
path: ./pkgs.txt.part.02 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: "${{ github.sha }}-03" | |
path: ./pkgs.txt.part.03 | |
go: | |
needs: [go-split-test-files, get_diff] | |
if: ${{ needs.get_diff.outputs.git_diff || github.actor == 'dependabot[bot]' || github.actor == 'mergify[bot]' }} | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
strategy: | |
fail-fast: false | |
matrix: | |
part: ["00", "01", "02", "03"] | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: 🐿 Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Display go version | |
run: go version | |
- uses: actions/download-artifact@v4 | |
with: | |
name: "${{ github.sha }}-${{ matrix.part }}" | |
- name: Test & coverage report creation | |
run: | | |
VERSION=$(echo $(git describe --tags) | sed 's/^v//') || VERSION=${GITHUB_SHA} | |
TESTS=$(cat pkgs.txt.part.${{ matrix.part }}) | |
VERSION=$VERSION SKIP_WASM_WSL_TESTS="false" go test -race -mod=readonly -tags='ledger test_ledger_mock norace' $TESTS | |
e2e: | |
needs: get_diff | |
if: ${{ needs.get_diff.outputs.git_diff || github.actor == 'dependabot[bot]' || github.actor == 'mergify[bot]' }} | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
timeout-minutes: 20 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'mergify[bot]' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: 🐿 Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Build e2e image | |
uses: docker/build-push-action@v6 | |
with: | |
load: true | |
context: . | |
tags: osmosis:debug | |
build-args: | | |
BASE_IMG_TAG=debug | |
BUILD_TAGS="netgo,muslc" | |
- name: Test e2e and Upgrade | |
run: make test-e2e-ci | |
- name: Dump docker logs on failure | |
if: failure() | |
uses: jwalton/gh-docker-logs@v2 | |
with: | |
dest: "./logs" | |
- name: Tar logs | |
if: failure() | |
run: | | |
tar cvzf ./logs.tgz ./logs | |
- name: Upload logs to GitHub | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: logs.tgz | |
path: ./logs.tgz |