Skip to content

chore: add integration test for the create fuels template #10646

chore: add integration test for the create fuels template

chore: add integration test for the create fuels template #10646

Workflow file for this run

name: "Test"
on:
pull_request:
push:
branches:
- master
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
environments:
runs-on: ubuntu-latest
# name will be node@<version> or browser
name: ${{ matrix.env.name }}${{ matrix.env.version && '@' || ''}}${{ matrix.env.version || ''}}
strategy:
fail-fast: false
matrix:
env:
[
{ name: node, version: 18.18.2 },
{ name: node, version: 20 },
{ name: browser },
]
timeout-minutes: 25
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Setup
uses: ./.github/actions/test-setup
with:
node-version: ${{ matrix.env.version || 20 }}
- name: Validate Tests
run: pnpm test:validate
- name: Run Tests - ${{ matrix.env.name }}
run: pnpm ci:test --${{ matrix.env.name }}
- name: Upload Coverage - ${{ matrix.env.name }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.env.name }}
path: coverage/environments/${{ matrix.env.name }}
overwrite: true
e2e:
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [environments]
if: ${{ !github.event.pull_request.draft }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: CI Setup
uses: ./.github/actions/test-setup
- name: Pretest
run: pnpm pretest
- name: Run Isolated Tests
run: pnpm test:e2e
env:
FUEL_NETWORK_URL: https://devnet.fuel.network/v1/graphql
TEST_WALLET_PVT_KEY: ${{ secrets.TEST_WALLET_PVT_KEY }}
TEST_WALLET_ADDRESS: ${{ secrets.TEST_WALLET_ADDRESS }}
FUEL_TESTNET_NETWORK_URL: ${{ secrets.FUEL_TESTNET_NETWORK_URL }}
create-fuels-template-integration:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Test Setup
uses: ./.github/actions/test-setup
- name: Run UI tests
run: sh ./scripts/create-fuels-template-integration.sh
test:
if: github.base_ref == 'master' || github.ref_name == 'master'
runs-on: ubuntu-latest
needs: [environments, e2e]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CI Setup
uses: ./.github/actions/test-setup
- name: Generate Coverage Directory
run: mkdir -p coverage/environments
- name: Download Coverage Artifact for Node Tests
uses: actions/download-artifact@v4
with:
name: node
path: coverage/environments
- name: Generate Coverage
run: pnpm test:coverage-merge
- name: Find PR Number
uses: jwalton/gh-find-current-pr@v1
id: findPr
- name: Upload Master Coverage Artifact
uses: actions/upload-artifact@v4
if: ${{ !steps.findPr.outputs.number }}
with:
name: coverage-master
path: coverage/report
- name: Download Master Coverage Artifact
uses: dawidd6/action-download-artifact@v2
if: ${{ steps.findPr.outputs.number }}
with:
workflow: test.yaml
branch: master
name: coverage-master
path: coverage-master
- name: Generate Coverage Diff
if: ${{ (steps.findPr.outputs.number) }}
run: pnpm test:coverage-diff
- name: Report Coverage
uses: thollander/actions-comment-pull-request@v2
if: ${{ steps.findPr.outputs.number }}
with:
filePath: coverage/report/coverage-diff.txt
pr_number: ${{ (steps.findPr.outputs.number) }}
comment_tag: diff
mode: recreate
create_if_not_exists: true
create-changeset:
needs: [test]
name: Create Changeset
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.client_payload.ref }}
- name: Setup PNPM
uses: pnpm/action-setup@v4
with:
version: 9.0.5
run_install: true
- name: Install jq
run: sudo apt-get install -y jq
- name: Run dependabot changeset script
run: pnpm changeset:dependabot
env:
PR_TITLE: ${{ github.event.pull_request.title }}
- name: Commit Changeset
run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git add .
git commit -m "build: update dependency changeset [skip ci]"
git push origin HEAD:${{ github.event.pull_request.head.ref }}
env:
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }}