version: 0.2 batch: fast-fail: true build-graph: # Lint and specification compliance - identifier: compliance buildspec: codebuild/compliance.yml # Unit Tests - identifier: testNodejs20 buildspec: codebuild/nodejs20.yml env: image: aws/codebuild/standard:5.0 - identifier: testBrowser18 buildspec: codebuild/browser18.yml # Integration Tests - identifier: testVectorsNodejs20 buildspec: codebuild/test_vectors/nodejs20.yml env: variables: PUBLISH_LOCAL: "true" image: aws/codebuild/standard:5.0 - identifier: testVectorsBrowser18 buildspec: codebuild/test_vectors/browser18.yml env: variables: PUBLISH_LOCAL: "true" image: aws/codebuild/standard:5.0 # Version the project and push git commits and tags - identifier: version depend-on: - compliance - testNodejs20 - testBrowser18 - testVectorsNodejs20 - testVectorsBrowser18 buildspec: codebuild/release/version.yml env: image: aws/codebuild/standard:6.0 # Publish the release to npm - identifier: publish depend-on: - version buildspec: codebuild/release/publish.yml env: image: aws/codebuild/standard:6.0 # Validate that the published versions are available - identifier: validateNodejs depend-on: - publish buildspec: codebuild/test_vectors/nodejs20.yml env: variables: PUBLISH_LOCAL: "false" image: aws/codebuild/standard:5.0 - identifier: validateBrowser depend-on: - publish buildspec: codebuild/test_vectors/browser18.yml env: variables: PUBLISH_LOCAL: "false" image: aws/codebuild/standard:5.0