How to Publish a Serverless Snippet on ServerlessLand
To submit a new serverless snippet, or to make changes to existing code, follow the instructions below.
- local: Your local copy of the forked repository.
- origin: Your forked, remote copy of the original repository.
- upstream: The original, remote serverless-snippets repository.
Fork and Clone the serverless-snippets repo.
-
Fork the original serverless-snippets repo to create a copy of the repo in your own GitHub account: https://github.com/aws-samples/serverless-snippets
-
Clone your copy of the repo to download it locally:
git clone https://github.com/{your-github-username}/serverless-snippets.git
-
Change into the new local directory:
cd serverless-snippets
-
Add the original serverless-snippets repo as another remote repo called "upstream":
git remote add upstream https://github.com/aws-samples/serverless-snippets
-
For verification, display the remote repos:
git remote -v
The output should look like this:
origin https://github.com/{your-github-username}/serverless-snippets.git (fetch) origin https://github.com/{your-github-username}/serverless-snippets.git (push) upstream https://github.com/aws-samples/serverless-snippets (fetch) upstream https://github.com/aws-samples/serverless-snippets (push)
Create a new local branch for each serverless snippet or modification being made. This allows you to create separate pull requests in the upstream repo.
-
Create and checkout a new local branch before making code changes:
git checkout -b {branch-name}
Branch name syntax:
{username}-{feature|fix}-{description}
Example branch name:
myusername-feature-lambda-aurora-serverless
-
For verification, display all branches:
git branch -a
The output should look like this:
* {branch-name} main remotes/origin/HEAD → origin/main remotes/origin/main
Now is the time to create your new serverless snippet or modify existing code.
- If you are creating a new serverless snippet, copy the folder named "_snippet-model" to start with a template:
cp -r _snippet-model {new-folder-name}
- If you are modifying existing code, make your code changes now.
- When your code is complete, stage the changes to your local branch:
git add .
- Commit the changes to your local branch:
git commit -m 'Comment here'
Push your code to the remote repos and create a pull request.
-
Push the local branch to the remote origin repo:
git push origin {branch-name}
If this is the first push to the remote origin repo, you will be asked to Connect to GitHub to authorize the connection. Sometimes the pop-up window appears behind other windows.
-
Go to the upstream repo in Github and click "Compare & pull request".
-
Enter an appropriate title:
Example title:
New serverless snippet - lambda-aurora-serverless
-
Add a description of the changes.
-
Click "Create pull request".
-
After your pull request has been accepted into the upstream repo:
- Switch to your local main branch:
git checkout main
- Pull changes that occurred in the upstream repo:
git fetch upstream
- Merge the upstream main branch with your local main branch:
git merge upstream/main main
- Push changes from you local repo to the remote origin repo:
git push origin main
Delete any unnecessary local and origin branches.
- Switch to your local main branch:
git checkout main
- For verification, display all branches:
git branch -a
- Delete any unnecessary local branches:
git branch -d {branch-name}
- Delete any unnecessary remote origin branches:
git push origin --delete {branch-name}