#43 Added some doc in README.md for contribution workflow
Merged a year ago by rbowen. Opened a year ago by arrfab.
centos/ arrfab/centos.org contribution_workflow  into  master

file modified
+45 -13

@@ -1,15 +1,32 @@ 

- # centos-jekyll-sites

+ # CentOS.org website

  

- Community effort to redesign CentOS websites using

- [jekyll](https://jekyllrb.com/) 4 and [bootstrap](https://getbootstrap.com/) 4.

+ The CentOS.org website is using the following tools:

  

- ## Installation

+  * [jekyll](https://jekyllrb.com/) 4 

+  * [bootstrap](https://getbootstrap.com/) 4.

+  * [podman](https://podman.io) (but should work with other know containers solutions too)

  

+ ## Contributing to changes to this repo

+ 

+ ### Needed tools

+ 

+ Just ensure that you have git, podman installed on your CentOS, Fedora workstation (or any other linux distro, just showing this as example):

+ 

+ ```

+ sudo yum install slirp4netns podman git

+ ```

+ 

+ ### Cloning this repo, from your forked version

+ 

+ You should first login with your [ACO](https://accounts.centos.org) login on https://git.centos.org, and then fork this repo (if not already done)

+ 

+ Once done, you'll have to clone your fork locally, and submit changes.

  This section describes the steps you need to follow in order to render the

  final site using jekyll in Fedora 31/CentOS 8, with rootless container.

+ 

  Let's assume the following (so feel free to update):

  

-  * git_upstream="https://git.stg.centos.org/centos/centos.org.git"

+  * git_upstream="ssh://git@git.centos.org/forks/<ACO_LOGIN>/centos/centos.org.git" # replace with your ACO username

   * git_directory="$HOME/git/" # where you'll git clone git repo

  

  Let's first clone git repo and ensure that some files in container will be owned by jekyll :

@@ -33,20 +50,35 @@ 

  ```

  

  If that works, you'll have everything you need. You can then render/build the website (under _site directory) like this : 

+ 

  ```

- podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll jekyll build

+ podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" \

+   --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" \

+   --rm -it jekyll/jekyll jekyll build

  ```

  

- If you want to also edit file and have jekyll automatically rebuild the site when files are added/updated, you can run with with --watch

- ```

- podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll jekyll build --watch

+ The better way to work on changes is to have jekylly to automatically "watch" for local changes, and rebuild automatically on the fly when it detects that files were added/modified. To do this, and then to be able to browse "live" onhttp://localhost:4000 , launch Jekyll like this :

  

  ```

- 

- Viewing website locally (so point browser to http://localhost:4000 : 

+ podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" \

+   --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" \

+   -p 4000:4000/tcp \

+   --rm -it jekyll/jekyll jekyll serve

  ```

- podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" -p 4000:4000/tcp --rm -it jekyll/jekyll jekyll serve

  

- ```

+ ### Opening a PR (Merge request)

+ Once you're satisfied with local changes, proceed as usual : 

+  

+  * `git commit` and `git push` to origin (your fork)

+  * open PR on git.centos.org  

+ 

+ ### Reviewing a PR (for admins)

+ When someone will open a PR, there is a way to pull locally the proposed changed and render locally.

+ We can apply the method above with "jekyll serve" but we can pull locally.

+ On each PR, there is a link at bottom named "Pull this pull-request locally" with a link to instructions.

+ If you proceed, that will create a new temporary branch named pr<number>, so you can then `git checkout pr<number>` , render website automatically and see if that looks ok.

+ If it is, you can go back to git.centos.org, and then either comment (if you need some changes) or just `merge` it.

+ Merging it in main branch will automatically means that website will be rebuild and pushed in the next minute[s] to www.centos.org nodes.

+ 

  

  

@rbowen, @areguera : this PR is just for doc, but also to validate the workflow for contributors.
Can you review it and give comments please ?

+1. Thanks for the additional info.

Pull-Request has been merged by rbowen

a year ago
Metadata