Contribution is not easy, so we created this document to describe how to get you setup so you can contribute back and make everyone's life easier. All contributions will be made via pull request which goes through review process. We have disabled push to main branch, therefore all changes must go through pull request.
If you don't have a GitHub account please register your account.
The default branch is main. This branch
is protected to ensure no-one accidently deletes this branch. All PRs are sent to main
branch.
Please Fork this repo located in top-right corner before you start contribution. If your product is part of E4S DocPortal you may proceed with contribution, if not please contact E4S before you contribute to this repo.
This repo contains CI badges for each E4S product, if you have badges in top-level README you should verify the badges are consistent with this repo. For example if you are the Kokkos team you should verify the CI badges in Kokkos README are consistent with the Kokkos entry in the README.md table.
We use shields.io to extract default badges found in most github projects. You can use this as reference if you want to add additional badges.
Assuming you have forked the repo, you will want to clone your fork repo.
git clone [email protected]:YOUR\_GITHUB\_LOGIN/e4s-ci-badges.git
You might need to setup your SSH keys in your git profile if you are using ssh option for cloning. For more details on setting up SSH keys in your profile, follow instruction found in https://help.github.com/articles/connecting-to-github-with-ssh/
SSH key will help you pull and push to repository without requesting for password for every commit. Once you have forked the repo, clone your local repo
Next let's navigate to the directory and add the upstream
repo endpoint as follows:
cd e4s-ci-badges
git remote add upstream [email protected]:E4S-Project/e4s-ci-badges.git
The upstream
tag is used to sync your local fork with upstream repo.
Make sure you set your user name and email set properly in git configuration. We don't want commits from unknown users. This can be done by setting the following:
git config user.name "First Last"
git config user.email "[email protected]"
For more details see First Time Git Setup.
The main
from upstream will get Pull Requests from other contributors, in-order
to sync your forked repo with upstream, run the commands below::
cd e4s-ci-badges
git checkout main
git fetch upstream main
git pull upstream main
Once the changes are pulled locally you can sync your upstream fork as follows:
git checkout main
git push origin main
Please make sure to create a new branch when adding and new feature. Do not
push to main
branch on your fork or upstream.
Create a new feature branch from main
as follows:
cd e4s-ci-badges
git checkout main
git checkout -b <BRANCHNAME>
Once you are ready to push to your fork repo do the following:
git push origin <BRANCHNAME>
Once the branch is created in your fork, you can issue a Pull Request to main
branch for upstream
repo (https://github.com/E4S-Project/e4s-ci-badges).
Please check the CI actions reported in your pull request and make sure they pass. The urlchecker workflow is responsible for checking urls, this is using github action urlstechie/urlchecker-action. If the CI check reports a failure on url that is valid please exclude the url in the check. For more details on urlchecker-action see the documentation.