blob: 59b54932294981b1176cfbc711e0ae61cd1f29df [file] [log] [blame] [view]
# Contributing to Apache CloudStack Website
Non-technical contributors can refer to the visual guide here:
https://cloudstack.apache.org/website-guide/
or,
https://github.com/apache/cloudstack-www/tree/main/docs/
For adding blog posts, the following template can be copied and renamed in the
format as <date>-blog-name, see examples in the blog directory:
https://github.com/apache/cloudstack-www/tree/main/blog/.blog-template
## Step by Step
* Fork this repository to your GitHub account: `<your_github_user>`. To do that,
navigate to `https://github.com/apache/cloudstack-www` and click `fork` in the
top right corner of the page.
* Then, clone your fork to your local workstation: `git clone
git@github.com:<your_github_user>/cloudstack-www.git`
* Cloning this way will make your GitHub fork the `origin` remote.
* `cd cloudstack-www`
* Add the official repo as the `upstream` remote: `git remote add upstream
git@github.com:apache/cloudstack-www.git`
**Sync Local with Upstream**
```bash
git checkout main
git fetch upstream
git pull upstream main
```
**Commit Locally**
Once you've made local changes and tested locally if you can, you may commit
your changes as follows:
```bash
git add .
git commit -am "your commit message"
git push origin main
```
**Create a PR**
* Confirm the changes appear correctly on your GitHub account.
* Create a Pull Request against `main` on the `https://github.com/apache/cloudstack-www` repository.
**COMMITTER: Validate a PR Locally**
Note: The following instructions assume the `<contributor>` made their changes
on their `main` branch.
```bash
# validate contributor changes
cd /tmp
git clone https://github.com/<contributor>/cloudstack-www.git
cd cloudstack-www
git checkout main
yarn install
yarn build
# visually validate changes at: http://localhost:[3000|port number]
```
**COMMITTER: Merge & Deploy**
Once a PR is merged into `main` branch using GitHub UI, the changes are made live
by a GitHub Actions based automation workflow.