diff --git a/concourse/pipeline.yml b/concourse/pipeline.yml index bef8707d..22d758da 100644 --- a/concourse/pipeline.yml +++ b/concourse/pipeline.yml @@ -21,10 +21,19 @@ resources: branch: main private_key: ((github-ssh-key)) + - name: testtools + type: git + icon: github + source: + uri: git@github.com:fauna/testools.git + branch: main + private_key: ((github-ssh-key)) + groups: - name: standard-release jobs: - set-self + - validate - release jobs: @@ -36,17 +45,32 @@ jobs: - set_pipeline: self file: fauna-js-repository/concourse/pipeline.yml - - name: release + - name: validate serial: true public: false plan: - get: fauna-js-repository + trigger: true passed: - set-self + - get: testtools + - task: integration-tests file: fauna-js-repository/concourse/tasks/integration-tests.yml privileged: true + + - task: runtime-validation + file: fauna-js-repository/concourse/tasks/runtime-validation.yml + params: + AWS_LAMBDA_ROLE_ARN: arn:aws:iam::424964496154:role/driver-test-lambda-role-0cc3197 + AWS_ACCESS_KEY_ID: ((runtime-validation-aws.aws-access-key-id.value)) + AWS_SECRET_ACCESS_KEY: ((runtime-validation-aws.aws-secret-key.value)) + CLOUDFLARE_API_TOKEN: ((runtime-validation.CLOUDFLARE_API_TOKEN)) + FAUNA_SECRET: ((runtime-validation.FAUNA_SECRET)) + NETLIFY_ACCOUNT: ((runtime-validation.NETLIFY_ACCOUNT)) + NETLIFY_AUTH_TOKEN: ((runtime-validation.NETLIFY_AUTH_TOKEN)) + VERCEL_TOKEN: ((runtime-validation.VERCEL_TOKEN)) on_success: put: notify params: @@ -56,6 +80,15 @@ jobs: params: text: fauna-js driver release failed integration tests + - name: release + serial: true + public: false + plan: + - get: fauna-js-repository + trigger: false + passed: + - validate + - task: publish file: fauna-js-repository/concourse/tasks/npm-publish.yml params: diff --git a/concourse/scripts/runtime-validation.sh b/concourse/scripts/runtime-validation.sh new file mode 100755 index 00000000..33adf5e5 --- /dev/null +++ b/concourse/scripts/runtime-validation.sh @@ -0,0 +1,12 @@ +#!/bin/sh +set -eou pipefail + +cd testtools/fauna-driver-platform-tests + +yarn add node-gyp@latest + +yarn js:aws-lambda:deploy && yarn js:aws-lambda:deploy +yarn js:cloudflare:deploy && yarn js:cloudflare:deploy +yarn js:netlify:deploy && yarn js:netlify:deploy +yarn js:vercel:deploy && yarn js:vercel:deploy + diff --git a/concourse/tasks/runtime-validation.yml b/concourse/tasks/runtime-validation.yml new file mode 100644 index 00000000..7eb1b6fc --- /dev/null +++ b/concourse/tasks/runtime-validation.yml @@ -0,0 +1,26 @@ +--- +platform: linux + +image_resource: + type: docker-image + source: + repository: node + tag: 19.8-alpine3.16 + +params: + AWS_LAMBDA_ROLE_ARN: + AWS_ACCESS_KEY_ID: + AWS_SECRET_ACCESS_KEY: + CLOUDFLARE_API_TOKEN: + FAUNA_SECRET: + NETLIFY_ACCOUNT: + NETLIFY_AUTH_TOKEN: + VERCEL_TOKEN: + +inputs: + - name: fauna-js-repository + - name: testtools/fauna-driver-platform-tests + +run: + path: ./fauna-js-repository/concourse/scripts/runtime-validation.sh +