Skip to content

Repository files navigation

BDD Feature Runner for AWS Examples

GitHub Actions semantic-release Renovate @commitlint/config-conventional code style: prettier ESLint: TypeScript

Example use of @bifravst/bdd-markdown.

npm ci           # install dependencies
npx cdk deploy   # deploy the stack to your AWS account
npm test         # run the tests

Note: AWS CDK follows the AWS SDK way of authenticating. See this guide to learn more.

Webhook receiver

The Webhook.feature.md shows how to use AWS ApiGateway, Lambda and SQS to set up a real test double for a webhook endpoint. It allows to test that a component which is supposed to send a webhook is actually sending it.

Set up CD

You need to create a developer token with repo and admin:repo_hook permissions for an account that has write permissions to your repository.

You need to store this token in AWS ParameterStore which is a one-time manual step done through the AWS CLI:

aws ssm put-parameter --name /codebuild/github-token --type String --value <Github Token>
aws ssm put-parameter --name /codebuild/github-username --type String --value <Github Username>

Then set up the continuous deployment:

node --experimental-transform-types --no-warnings cdk/cloudformation-cd.ts deploy

Architecture decision records (ADRs)

see ./adr.

Node & NPM

This project requires Node.js >=24.19.0 <25 and npm >=12.0.2 <13 (enforced via check-node-version on npm install and npm ci).

The check is skipped during npm publish and npm pack, because semantic-release bundles its own npm (@semantic-release/npm depends on npm@^11.6.2) and runs the publish with that version rather than the one installed in CI.

TypeScript 6 and 7

This repo runs TypeScript 6 and 7 side by side, so that eslint works.

Releases

Used by

Contributors

Languages