Skip to content

Bump path-to-regexp and express in /examples/experimental/test/end_to_end/http_server/http_outcall_fetch #6278

Bump path-to-regexp and express in /examples/experimental/test/end_to_end/http_server/http_outcall_fetch

Bump path-to-regexp and express in /examples/experimental/test/end_to_end/http_server/http_outcall_fetch #6278

Workflow file for this run

# This GitHub Action flow works as follows:
# Each directory in the examples and tests directory represents an example project and is intended to have tests that ensure the canisters contained in that example function properly.
# These tests are currently written in TypeScript and are intended to be run in a Node.js environment.
# This GitHub Action takes care of deploying to npm and GitHub.
name: Test
on:
push:
branches:
- main
pull_request:
types:
- opened
- synchronize
- ready_for_review
- reopened
workflow_dispatch:
inputs:
fuzz:
description: 'Run fuzz tests'
required: true
type: boolean
default: false
exclude-slow-tests:
description: 'Exclude slow tests'
required: true
type: boolean
default: true
exclude-unstable-tests:
description: 'Exclude unstable tests'
required: true
type: boolean
default: true
exclude-release-only-tests:
description: 'Exclude release-only tests'
required: true
type: boolean
default: true
link-azle:
description: 'Link to development version of azle'
required: true
type: boolean
default: true
jobs:
workflow-config:
name: Determine workflow config
runs-on: ubuntu-latest
outputs:
exclude-slow: ${{ steps.determine-workflow-config.outputs.exclude-slow }}
exclude-unstable: ${{ steps.determine-workflow-config.outputs.exclude-unstable }}
exclude-release-only: ${{ steps.determine-workflow-config.outputs.exclude-release-only }}
link-azle: ${{ steps.determine-workflow-config.outputs.link-azle }}
fuzz: ${{ steps.determine-workflow-config.outputs.fuzz }}
steps:
- uses: actions/checkout@v4
- id: determine-workflow-config
uses: ./.github/actions/determine_workflow_config
with:
is-workflow-dispatch: ${{ github.event_name == 'workflow_dispatch' }}
exclude-slow-dispatch-input-value: ${{ inputs.exclude-slow-tests }}
exclude-unstable-dispatch-input-value: ${{ inputs.exclude-unstable-tests }}
exclude-release-only-dispatch-input-value: ${{ inputs.exclude-release-only-tests }}
link-azle-dispatch-input-value: ${{ inputs.link-azle }}
fuzz-dispatch-input-value: ${{ inputs.fuzz }}
get-exclude-dirs:
name: Get exclude directories
needs: workflow-config
runs-on: ubuntu-latest
outputs:
exclude-dirs: ${{ steps.get-exclude-dirs.outputs.exclude-dirs }}
steps:
- uses: actions/checkout@v4
- id: get-exclude-dirs
uses: ./.github/actions/get_exclude_dirs
with:
exclude-slow: ${{ needs.workflow-config.outputs.exclude-slow }}
exclude-unstable: ${{ needs.workflow-config.outputs.exclude-unstable }}
exclude-release-only: ${{ needs.workflow-config.outputs.exclude-release-only }}
run-tests:
name: ${{ matrix.test_group.name }}
needs:
- workflow-config
- get-exclude-dirs
strategy:
fail-fast: false
matrix:
test_group:
- {
name: 'Stable Demo',
directories: './examples/stable/demo'
}
- {
name: 'Stable Demo (Experimental)',
directories: './examples/stable/demo',
run-experimental: true
}
- {
name: 'Experimental Demo',
directories: './examples/experimental/demo'
}
- {
name: 'Stable E2E CRPC',
directories: './examples/stable/test/end_to_end/candid_rpc'
}
- {
name: 'Stable E2E CRPC (Experimental)',
directories: './examples/stable/test/end_to_end/candid_rpc',
run-experimental: true
}
- {
name: 'Experimental E2E CRPC',
directories: './examples/experimental/test/end_to_end/candid_rpc'
}
- {
name: 'Experimental E2E HTTP Server',
directories: './examples/experimental/test/end_to_end/http_server'
}
- {
name: 'Stable Property CRPC',
directories: './examples/stable/test/property/candid_rpc'
}
- {
name: 'Stable Property CRPC (Experimental)',
directories: './examples/stable/test/property/candid_rpc',
run-experimental: true
}
- {
name: 'Experimental Property CRPC',
directories: './examples/experimental/test/property/candid_rpc'
}
- {
name: 'Stable Property IC API',
directories: './examples/stable/test/property/ic_api'
}
- {
name: 'Stable Property IC API (Experimental)',
directories: './examples/stable/test/property/ic_api',
run-experimental: true
}
uses: ./.github/workflows/run_test.yml
with:
directories: ${{ matrix.test_group.directories }}
exclude-dirs: ${{ needs.get-exclude-dirs.outputs.exclude-dirs }}
link-azle: ${{ needs.workflow-config.outputs.link-azle == 'true' }}
run-experimental: ${{ matrix.test_group.run-experimental || false }}
fuzz: ${{ needs.workflow-config.outputs.fuzz == 'true' }}
check-test-success:
name: Check Azle tests succeeded
needs: run-tests
runs-on: ubuntu-latest
if: success()
steps:
- run: exit 0
check-test-failure:
name: Check Azle tests didn't fail
needs: run-tests
runs-on: ubuntu-latest
if: failure()
steps:
- run: exit 1