Merge branch 'main' into tuan/formatting-enum #3
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
# The Tests / E2E Wasm workflow is used to run end-to-end tests on pull requests originating | ||
# from the ibc-go repository. The workflow specifically runs 08-wasm tests. | ||
name: Tests / E2E Wasm | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
paths: | ||
- 'e2e/tests/wasm/**' # the e2e tests or contracts change. | ||
- 'modules/light-clients/08-wasm/**' # modifications to the 08-wasm module. | ||
- 'modules/core/02-client/**' # modifications to the 02-client module. | ||
- '.github/workflows/e2e-wasm.yaml' # changes to this workflow. | ||
types: | ||
# trigger workflow if PR is opened directly as R4R. | ||
- opened | ||
# trigger workflow if changes are pushed to the branch. | ||
- synchronize | ||
# trigger workflow if PR is marked ready for review. | ||
- ready_for_review | ||
paths-ignore: | ||
- 'docs/**' | ||
- '**.md' | ||
- 'LICENSE' | ||
jobs: | ||
# determine-image-tag will either output the PR number e.g. pr-1234 or the string main. | ||
# this will be used to tag the images that are built during the workflow. | ||
determine-image-tag: | ||
if: ${{ !github.event.pull_request.draft && !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }} | ||
runs-on: ubuntu-latest | ||
outputs: | ||
simd-tag: ${{ steps.get-tag.outputs.simd-tag }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: '1.21' | ||
- id: get-tag | ||
run: | | ||
if [ -z "${{ github.event.pull_request.number }}" ] | ||
then | ||
echo "simd-tag=main" >> $GITHUB_OUTPUT | ||
else | ||
tag="pr-${{ github.event.pull_request.number }}" | ||
echo "Using tag $tag" | ||
echo "simd-tag=$tag" >> $GITHUB_OUTPUT | ||
fi | ||
# e2e generates the e2e tests for the non-forked PRs. It does so by using the | ||
# e2e-test-workflow-call.yml each test runs the jobs defined in that file. | ||
e2e: | ||
# we will be running this job if the PR has not yet been marked for review, and we push additional changes. | ||
# we skip the job in this case. | ||
if: ${{ !github.event.pull_request.draft && !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }} | ||
needs: determine-image-tag # we are required to have a docker tag before we can build any images. | ||
uses: ./.github/workflows/e2e-test-workflow-call.yml | ||
# unless we explicitly tell the workflow to inherit secrets, required secrets such as GITHUB_TOKEN will not be | ||
# provided to the workflow. This would cause privileged operations to fail. | ||
secrets: inherit | ||
with: | ||
# with each test, we build an image from the current code. | ||
build-and-push-docker-image-wasm: true | ||
# if the test fails, we upload logs so that we can download them from the UI. | ||
upload-logs: true | ||
chain-image: ghcr.io/cosmos/ibc-go-wasm-simd | ||
# with regular tests, both images are the same. | ||
chain-a-tag: '${{ needs.determine-image-tag.outputs.simd-tag }}' | ||
chain-b-tag: '${{ needs.determine-image-tag.outputs.simd-tag }}' | ||
chain-binary: 'simd' | ||
# only run the grandpa test suite for wasm tests. | ||
test-entry-point: 'TestGrandpaTestSuite' | ||
# exclude transfer tests which rely on removed packet event attributes: # https://github.com/cosmos/ibc-go/issues/6243 | ||
test-exclusions: 'TestMsgTransfer_Succeeds_GrandpaContract,TestMsgTransfer_TimesOut_GrandpaContract' |