Skip to content

Latest commit

 

History

History

getting-started

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Getting started with AWS Crypto Tools projects

This file covers general concepts that apply to all AWS Crypto Tools projects. This and related guides should help you get started. For more in-depth guidance, see the contributing guide.

Language Specifics

Getting started guides for each language:

Operations

Forks

Every user must create their own fork of the project repository. Any development must be done on that user's fork and pull requests come from a branch on the user's fork to a branch on the project fork.

Branches and Pull Requests

We recommend that you never make changes to the branch that you intend to make a pull request into. In other words, if you want to make a pull request into the development branch on the project fork, do not make changes in the development branch on your fork. Instead, make a new branch on your fork that branches from development and contains your changes.

git checkout development
git checkout -b my-awesome-changes

Keeping branches separate like this helps you and us keep track of and organize changes, especially when multiple pull requests might be merging into the same branch over the same time period. For example, if you and someone else both open a pull request to development at the same time with different changes, one of those pull requests will be merged first. Once the other pull request merges, you now need to reconcile your pull request with the merged changes. This is simplest if your changes and the merged changes are in separate branches and your development branch always has the same state as the project fork's development branch.

CI

Our projects use a variety of CI platforms:

  • GitHub Actions : Linux, MacOS, and Windows CI platform tightly integrated with GitHub.
  • TravisCI Linux and MacOS CI platform. NOTE: We do not frequently use TravisCI for MacOS testing.
  • AWS CodeBuild Linux and Windows CI platform.
  • AppVeyor : Windows CI platform. NOTE: Usually only used on older projects that we have not migrated to something else yet.