Skip to content
This repository has been archived by the owner on Jul 14, 2023. It is now read-only.

Latest commit

 

History

History
67 lines (37 loc) · 3.41 KB

releases.md

File metadata and controls

67 lines (37 loc) · 3.41 KB

Deployments

GitHub Classroom Assistant can currently only be deployed by the core team. In order to create a release there are several steps.

Making changes, approving them, and merging them

Work on Classroom Assistant should happen in feature branches. Once you have created a change you can open a pull request (Dependabot will also automatically open pull requests for security updates). Once the pull request is opened it needs to be reviewed.

To review a pull request for Classroom Assistant you should review the code but also check out the branch locally and test it. Check the change but also check that logging in, finding assignments and cloning all work as well.

Once the pull request has been reviewed and approved it can safely be merged. Merging the pull request does not create a release but it does update the code on the default branch. You can merge multiple branches without creating a release (for example you might merge four security updates to the default branch at once, then create a single release).

Long term unreleased code is dangerous - if you merge a pull request (or multiple pull requests) you should also create a subsequent release within a few days at most.

Creating a release

Once you have merged all of the changes, it is time to create a release!

image

Start by checking out the default branch and pulling all of the changes locally. Still on the default branch run the following command:

npm version <new version number>

For example:

npm version 2.0.3

This should bump the version in the local package.json according to the new version and create a tagged commit. Push this tag to GitHub:

git push --tags

This will trigger a release build in the GitHub Actions and will generate a draft release with the new version number under the GitHub Releases for the education/classroom-assistant repository.

image

Running npm version also created a commit on the default branch which we need to merge in. To do this we'll need another Pull Request. Create a new branch:

git checkout -b release-v2.0.3

Push that branch to GitHub and open a Pull Request:

image

Approve and merge the pull request.

Once the release is ready

Once the release is ready you need to move it from the draft or "prerelease" stage to the latest release. Go to the releases page (https://github.com/education/classroom-assistant/releases) and find the draft release. Make sure all of the assets have been uploaded, then click the Edit button next to the pre-release and write a description:

image

Uncheck the checkbox that says This is a prerelease and then press Update Release

image

This marks the release as the Latest Release. At this point users will begin seeing a new version popup when starting Classroom Assistant and be prompted to update. Additionally links to download Classroom Assistant from GitHub Classroom will be automatically updated.