The Tools We Use For Ampersand
  • Introduction
  • Tools used in the Ampersand project
  • Version control with Git
  • How to release an Ampersand upgrade
  • Documenting with GitBook
    • Getting started with GitBook
    • Do's and Dont's in Ampersand documentation
  • Building
    • Building an Ampersand Compiler with Stack
    • Baking a Docker image that contains the Ampersand Compiler
    • Testing with Docker on your own laptop
    • Automated builds
  • Prototype framework
  • Automation of releasing (CI/CD)
    • Github packages
  • Installation of RAP
    • Deploying to your own laptop
    • Deploying RAP4 in the Azure cloud
    • Deploying OUNL RAP4
    • Maintaining RAP4
    • Making Docker images
    • Deployment Configuration
    • Details
  • Functionality of RAP4
    • Student
    • Tutor
    • Account Manager
    • Graduate Student
  • Deploying with Kubernetes
  • Authentication and access management with OAuth
  • Ampersand language support
  • Group 1
    • Development using VS Code
Powered by GitBook
On this page
  • Branching strategy
  • Releasing at Github
  • Pre-release steps (what to do)
Export as PDF

How to release an Ampersand upgrade

This page is a work instruction for whoever does the periodic release. We use github actions to do a release. The aim is to do a release every 4 weeks, but it depends on the need to do so.

PreviousVersion control with GitNextDocumenting with GitBook

Last updated 3 years ago

Branching strategy

  • Use your own feature branch to experiment. You will typically spawn it from the main branch. Commit your branch frequently, so other team members can see what you are doing and help out if needed.

  • If you intend to merge your results somewhere in the future, describe your intentions now in the file ReleaseNotes.md in the root of the repository (in your own branch, of course). This ensures that these release notes will be merged into the main branch when the time is there.

  • Use a pull request to announce that you want to merge your branch into the main branch.

  • Take ownership of your branch(es). Ask for help to ensure progress and direction.

  • The main branch is used only for code that is ready for release. @hanjoosten is currently the primary guardian of the release process.

  • The contains the authoritative source code of Ampersand.

Releasing at Github

We release Ampersand in arbitrary time intervals. This is done by attaching a release label to the appropriate commit in the main branch.

Pre-release steps (what to do)

  1. In development branch, modify the following files:

    • package.yaml :

      • Change the version number to the next release number.

    • ReleaseNotes.md :

      • Rename the "unreleased changes" section to the new version

      • Add a new "unreleased changes" section for the next release.

  2. Push your modifications to GitHub. This will trigger automated testing.

  3. Ensure that the build is succesfully:

    • (this could take up to an hour)

  4. Create a pull request to the

Press the green button to create the pull request. We create a pull request so the release leaves a proper administrative trail in GitHub, and it triggers the actual release.

Notes, tips and tricks:

: Looking for package.yaml and ReleaseNotes.md? Want to know where they are located? Look in Github for the commit of the previous release. It shows changes were made to these files. From there, open their current (!) version. Please make sure your Git is working in the development branch. : This and most of the following actions are done from within the ampersand repository at github. : At the bottom of the page in GitHub, you will find the buttons to merge this release. Please drop a note to describe new features.

1
2
3
Ampersand repository at Github
Check the build
master from the compare with development
1
2