1- ## My Project
1+ # AWS CodeArtifact Semantic Release Example
22
3- TODO: Fill this README out!
3+ ## Summary
44
5- Be sure to:
5+ This pattern shows how to integrate [ semantic-release] [ semantic-release ] into
6+ your project to automate the entire package release workflow of determining the
7+ next version number, generating release notes, and publishing the package to
8+ [ AWS CodeArtifact] [ codeartifact ] .
69
7- * Change the title in this README
8- * Edit your repository description on GitHub
10+ In this example, we will be using GitHub with semantic-release to automate the
11+ release workflow of an npm package.
12+
13+ ## Prerequisites and Limitations
14+
15+ ### Prerequisites
16+
17+ - An active [ AWS account] [ create-aws-account ] .
18+ - An [ AWS CodeArtifact] [ codeartifact ] repository.
19+ - A [ GitHub] [ github ] repository.
20+ - [ Node.js] [ nodejs ] v14.x or later on developer machines.
21+
22+ ### Limitations
23+
24+ - The [ semantic-release-coderatifact] [ semantic-release-codeartifact ] plugin
25+ currently only supports npm at the time of writing.
26+
27+ ## Architecture
28+
29+ ![ Architecture Image] [ architecture-img ]
30+
31+ The diagram shows the following workflow:
32+
33+ 1 . Developers commit changes to the GitHub repository following a standardized
34+ commit message format (enforced by [ commitizen] [ commitizen ] ).
35+
36+ 1 . The GitHub Action [ release workflow] [ release-workflow ] assumes the IAM role
37+ for publishing to CodeArtifact.
38+
39+ 1 . The npm package is published to the CodeArtifact repository.
40+
41+ ## Tools
42+
43+ - [ AWS CodeArtifact] [ codeartifact ] - Fully managed artifact repository service.
44+ - [ GitHub Actions] [ github-actions ] - Runs release workflow.
45+ - [ semantic-release] [ semantic-release ] - Used to automate the package release workflow.
46+ - [ semantic-release-codeartifact] [ semantic-release-codeartifact ] - Plugin for AWS CodeArtifact.
47+ - [ commitizen] [ commitizen ] - Command line utility to help standardize commit messages.
48+ - [ husky] [ husky ] - Adds git hooks we use for automatically running commitizen on commit.
49+
50+ ## Best Practices
51+
52+ ## Related Resources
53+
54+ - [ Semantic Release: How does it work?] [ semantic-release-how-does-it-work ]
955
1056## Security
1157
@@ -15,3 +61,16 @@ See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more inform
1561
1662This library is licensed under the MIT-0 License. See the LICENSE file.
1763
64+ [ architecture-img ] :./docs/img/architecture.svg
65+ [ codeartifact ] :https://aws.amazon.com/codeartifact
66+ [ commitizen ] :https://github.com/commitizen/cz-cli
67+ [ create-aws-account ] :https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/
68+ [ github-actions ] :https://docs.github.com/en/actions
69+ [ github ] :https://github.com
70+ [ husky ] :https://www.npmjs.com/package/husky
71+ [ nodejs ] :https://nodejs.org/en/download/
72+ [ release-workflow ] :./.github/workflows/release.yml
73+ [ semantic-release-codeartifact ] :https://www.npmjs.com/package/semantic-release-codeartifact
74+ [ semantic-release ] :https://github.com/semantic-release/semantic-release
75+ [ semver ] :https://semver.org/
76+ [ semantic-release-how-does-it-work ] :https://github.com/semantic-release/semantic-release#how-does-it-work
0 commit comments