# Integration Test # # This workflow is used to run an integration test on demand. # An input for the test name needs to be provided. # TODO: check if the input is "all" , and run all, without a timeout? name: Integration Test on: workflow_dispatch: inputs: test_name: description: "Which integration to test." required: true type: string # Workflow-level permissions - read access to repository contents permissions: contents: read # Required to checkout code env: AXIOM_TOKEN: ${{ secrets.AXIOM_TOKEN }} TEST_APPSIGNAL_PUSH_API_KEY: ${{ secrets.TEST_APPSIGNAL_PUSH_API_KEY }} CONTAINER_TOOL: "docker" DD_ENV: "ci" DD_API_KEY: ${{ secrets.DD_API_KEY }} RUST_BACKTRACE: full VECTOR_LOG: vector=debug VERBOSE: true CI: true PROFILE: debug jobs: test-integration: runs-on: ubuntu-24.04 timeout-minutes: 40 if: inputs.if || github.event_name == 'workflow_dispatch' steps: - name: (PR comment) Get PR branch if: ${{ github.event_name == 'issue_comment' }} uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0 id: comment-branch - name: (PR comment) Checkout PR branch if: ${{ github.event_name == 'issue_comment' }} uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ steps.comment-branch.outputs.head_ref }} - name: Checkout branch if: ${{ github.event_name != 'issue_comment' }} uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: bash scripts/environment/prepare.sh --modules=rustup,datadog-ci - run: make test-integration-${{ inputs.test_name }} env: TEST_DATADOG_API_KEY: ${{ secrets.CI_TEST_DATADOG_API_KEY }} - name: Upload test results run: scripts/upload-test-results.sh if: always() - run: make test-integration-${{ inputs.test_name }}-cleanup if: ${{ always() }} env: TEST_DATADOG_API_KEY: ${{ secrets.CI_TEST_DATADOG_API_KEY }}