Skip to content

time

time #145

Workflow file for this run

name: Test All Examples
on:
pull_request:
workflow_dispatch:
jobs:
find-out-changes:
runs-on: ubuntu-latest
outputs:
changed_directories: ${{ steps.set-output.outputs.changed_directories }} # The `dirs` doesn't exist in the outputs of changed-files@v35 action.
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v45.0.3
with:
dir_names: true
dir_names_max_depth: 1 # This is optional. If not provided, full subdirectories' paths will be provided. Use it if you need to trim the output. See docs for details: https://github.com/tj-actions/changed-files/tree/main#inputs.
dir_names_exclude_current_dir: true
exclude_submodules: true
files_ignore: |
*.md
.github/**/*
json: true
quotepath: false
- name: 'Set output in the matrix format'
id: set-output
run: echo "changed_directories={\"dir\":${{ steps.changed-files.outputs.all_changed_files }}}" >> "$GITHUB_OUTPUT"
testing:
if: ${{ needs.find-out-changes.outputs.changed_directories != '' }} # Without it, the strategy parser will fail if the changed_directories is empty.
strategy:
matrix: ${{fromJson(needs.find-out-changes.outputs.changed_directories)}}
fail-fast: false
needs:
- find-out-changes
uses: ./.github/workflows/reusable_test_run.yaml
with:
example-dir: ${{ matrix.dir }}
# steps:
# - uses: actions/checkout@v4
# - if: ${{ hashFiles(format('{0}/setup.sh', matrix.dir)) != '' }}
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: ${{ matrix.dir }}
# amqp-reflect:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: amqp.reflect
# asyncapi-http-kafka-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: asyncapi.http.kafka.proxy
# asyncapi-mqtt-kafka-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: asyncapi.mqtt.kafka.proxy
# asyncapi-mqtt-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: asyncapi.mqtt.proxy
# asyncapi-sse-kafka-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: asyncapi.sse.kafka.proxy
# asyncapi-sse-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: asyncapi.sse.proxy
# grpc-echo:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: grpc.echo
# grpc-kafka-echo:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: grpc.kafka.echo
# grpc-kafka-fanout:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: grpc.kafka.fanout
# grpc-kafka-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: grpc.kafka.proxy
# grpc-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: grpc.proxy
# http-filesystem:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.filesystem
# http-json-validate:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.json.validate
# http-jwt:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.jwt
# http-kafka-async:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.async
# http-kafka-avro-json:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.avro.json
# http-kafka-cache:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.cache
# http-kafka-crud:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.crud
# http-kafka-oneway:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.oneway
# http-kafka-proto-json:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.proto.json
# http-kafka-proto-oneway:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.proto.oneway
# http-kafka-sync:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.kafka.sync
# http-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: http.proxy
# mqtt-jwt:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: mqtt.jwt
# mqtt-kafka-broker:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: mqtt.kafka.broker
# openapi-asyncapi-kafka-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: openapi.asyncapi.kafka.proxy
# openapi-proxy:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: openapi.proxy
# sse-jwt:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: sse.jwt
# sse-kafka-fanout:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: sse.kafka.fanout
# tcp-echo:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: tcp.echo
# tcp-reflect:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: tcp.reflect
# tls-echo:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: tls.echo
# tls-reflect:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: tls.reflect
# ws-echo:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: ws.echo
# ws-reflect:
# uses: ./.github/workflows/reusable_test_run.yaml
# with:
# example-dir: ws.reflect