Provisioning a new Docassemble repository - Digital-Law-Lab/Digital-Law-Lab GitHub Wiki
Use this procedure when 'copying' a repository of existing code from another repository into the Digital Law Lab so we can work on it.
Clone and Mirror the Repository
TODO: instructions on creating a package from scratch
Where we work on existing code (eg: code from LLAW3301 repo) we do not create a fork. Instead we should mirror the repository into our Organisation.
- Create a new repository in Digital Law Lab using our Repository Naming Standard via the web browser
eg: we use the web browser to create a repo called
- Do a bare clone of the existing repository (command-line)
eg: we will clone from LLAW3301:
git clone --bare https://github.com/LLAW3301/docassemble-LLAW33012020S2P06.git
- Do a mirror push to the repo just created in step 1.
git push --mirror https://github.com/Digital-Law-Lab/docassemble-clcsa-01-service-directory
Clean out branches
If the repository mirrored is a LLAW3301 student project it will contain a number of branches that we no longer need. Delete all branches except for
Update the Package Info
- create a
master(more on why below)
- check out
nextand make these changes:
setup.pyand replace all occurences of
- find the .yml file that is used to run the app and rename it to
- commit changes to
- check out into Docassemble playground and confirm package still runs
Note: In the example we've used in this document
old_package_name would be
new_package_name would be
Create working branch structure
This should be done in accordance with the Code Branches Policy
- Make sure
nextbranch exists, otherwise create it
next_AAAAbranches for each team member from
AAAAis the GitHub username of each team member
Grant access to the repo
Grant write access to
Digital-Law-Lab/docassemble-developers group eg:
Note: It looks like protection is behind a paywall. We may need to drop this.
Only @mferrare should be able to merge changes into
next. Set up protection on the branch so these two boxes are checked:
Note: although the policy requires approval it does not restrict approvals only to @mferrare. However, only @mferrare should approve PRs into
Create Slack channel
On our Slack create a new channel for this repository.
Channel naming convention:
- Use the same name as the repo but omit the
docassemble-portion for docassemble packages
eg: the channel for the
- Note the Slack requires channel names to be in lower case.