Creating a New Project - commoncriteria/pp-template GitHub Wiki
To create a new Project in the Commoncriteria github you need to access to the github repo and you need a command line interface to a local git installation. Your local installation can be in Linux, in a Linux subsystem on a Windows machine, or through a tool like Git Extensions.
Create a new repo using the web interface
- Go to
github.com/orgs/commoncriteria
- Select the Repositories tab
- New Repository
- Name it (e.g. widget)
- Make it public
- add a README file
pp-template
repo
On your local machine, make a bare clone the git clone --bare https://github.com/commoncriteria/pp-template.git
cd pp-template.git
This can also be done through the Git Extensions GUI by cloning
the pp-template repo and selecting the --bare
checkbox
pp-template
into your new repo
Push the contents of - In Git Extensions use the Console to do this.
git push --mirror http://github.com/commoncriteria/widget.git
Remove the local copy of the pp-template repo (or leave it)
cd ..
rm -rf pp-template.git
Do a full clone of your new project
git clone --recursive http://github.com/commoncriteria/widget.git
- Or use a new instance of Git Extensions to clone the new repo
Rename your local copy of the main XML file in the input directory
- From
pp-template.xml
towidget.xml
(or whatever the name of your project is).
If creating a PP-Module, edit the Makefile in the main directory
- Replace
include $(TRANS)/Helper.make
withinclude $(TRANS)/module/Module.make
If creating a cPP, edit the Makefile in the main directory
- Replace
include $(TRANS)/Helper.make
withinclude $(TRANS)/module/cPP.make
If necessary, create an empty gh-pages branch
git switch --orphan gh-pages
git commit --allow-empty -m "Initial commit on gh-pages branch"
git push -u origin gh-pages
Commit and push the project back to github
git commit
git push
See if it validates and builds
Go to the Actions tab for the project on the github site. The QuickBuild and Validate actions should both show green badges.
Update the README of the new project to refer to the correct repo etc.
- Replace "QQQQ" with the name of the requirements document
- Replace "Protection Profile" with "Functional Package" or "Protection Profile Module" if necessary
- Replace "pp-template" with the name of your new repo
- Delete the next at the top that tells you what to do
Start Working on the Document
- By editing the input/widget.xml file
- Typically, you should work on the master branch
- Every commit causes html and pdf versions of the document to be generated to https://commoncriteria.github.io/widget/master/ (assuming your repo is called widget and you are working on the master branch)
- When ready for release, you should create a release branch from the master (e.g. release-1.0)
- And then continue working on the master branch