Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add reusable Workflow for buildpack integration test #99

Merged
merged 2 commits into from
Apr 8, 2022

Conversation

anniefu
Copy link
Contributor

@anniefu anniefu commented Apr 8, 2022

This can be used by Functions Frameworks to test the framework against
the official GCF builders, ensuring the frameworks will work containerized.

It runs HTTP tests similar to the local conformance test client runs, except in buildpack mode which:

  1. Builds the function into a container using pack and the appropriate GCF builder
  2. Runs the container on docker
  3. Sends standard conformance test HTTP requests to the running container and verifies the response

Optimizations:

  • Conformance test client is cached by client version, so it doesn't have to be rebuilt/re-installed unless there's a new release
  • Each conformance test client run is run in its own GitHub job/runner in parallel

Example .github/workflows/buildpack-integration-test.yml that would go in an FF repo:

name: Buildpack Integration Test
on:
  # manually triggered for example
  workflow_dispatch:
jobs:
  buildpack-integration-test:
    uses: GoogleCloudPlatform/functions-framework-conformance/.github/workflows/[email protected]
    with:
      http-builder-source: 'testdata/conformance/function'
      http-builder-target: 'declarativeHTTP'
      cloudevent-builder-source: 'testdata/conformance/function'
      cloudevent-builder-target: 'declarativeCloudEvent'
      builder-runtime: 'go116'
      builder-tag: 'go116_20220320_1_16_13_RC00'

This can be used by Functions Frameworks to test the framework against
the official GCF builders.
@anniefu anniefu requested a review from grant April 8, 2022 15:37
@anniefu anniefu merged commit 270aa68 into GoogleCloudPlatform:master Apr 8, 2022
anniefu added a commit to anniefu/functions-framework-python that referenced this pull request Apr 29, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.
anniefu added a commit to GoogleCloudPlatform/functions-framework-python that referenced this pull request Apr 29, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.
anniefu added a commit to GoogleCloudPlatform/functions-framework-php that referenced this pull request Jun 21, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 21, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 21, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to GoogleCloudPlatform/functions-framework-php that referenced this pull request Jun 24, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.

Also, move the script for running conformance tests locally to the
conformance test directory.
anniefu added a commit to anniefu/functions-framework-ruby that referenced this pull request Jun 28, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.
anniefu added a commit to anniefu/functions-framework-ruby that referenced this pull request Jun 28, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.
anniefu added a commit to GoogleCloudPlatform/functions-framework-ruby that referenced this pull request Jul 1, 2022
See [functions-framework-conformance builidpack integration workflow PR](GoogleCloudPlatform/functions-framework-conformance#99) for more information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants