Skip to content

Commit

Permalink
Merge pull request moodlehq#152 from stronk7/easier_releases
Browse files Browse the repository at this point in the history
Towards better release procedure
  • Loading branch information
stronk7 authored Apr 12, 2024
2 parents 02a279e + c883070 commit 1ec84f4
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 1 deletion.
31 changes: 31 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Create Release

on:
push:
tags: [ 'v*' ]

jobs:
release:
# Avoid forks to perform this job.
if: github.repository_owner == 'moodlehq'
name: Create Release
runs-on: ubuntu-22.04

steps:
- name: Check out repository code
uses: actions/checkout@v4

- name: Extract release notes from changelog
id: extract-release-notes
uses: yashanand1910/[email protected]
with:
changelog_path: ./CHANGELOG.md
version: ${{ github.ref }}

- name: Create Release
uses: ncipollo/release-action@v1
with:
body: |
${{ steps.extract-release-notes.outputs.release_notes }}
#
Take a look at the [CHANGELOG](https://github.com/moodlehq/moodle-cs/blob/main/CHANGELOG.md) for details about other releases.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

## Information

This repository contains the Moodle Coding Style configurations, written as [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) rulesets.
This repository contains the Moodle Coding Style configurations, written as [PHP CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) rulesets.

Two coding styles are included:

Expand Down
34 changes: 34 additions & 0 deletions docs/ReleaseNewVersion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Releasing a new version

This is a guide on how to release a new version of this project. Remember that
when considering the version number to use, that this project follows
[Semantic Versioning](http://semver.org/), so bump the version number accordingly.

Also, note that, for the logs, we follow the [Keep a CHANGELOG](https://keepachangelog.com)
format (sections order, lists, ...) as much as possible.

Prior to tagging a release, ensure the following have been updated:

* The `CHANGELOG.md` needs to be up-to-date. In addition, the _Unreleased_ section
needs to be updated with the version being released. Also update the _Unreleased_
link at the bottom with the new version number and add the new link there.

When all the changes above have been performed and triple-checked,
**create a commit** (*"Prepare for vX.Y.Z release"*) and
**push it straight upstream** to `main`.

Once all code and commits are in place and verified, you need to tag a
release. Tag `main` branch `HEAD` and push using commands (don't forget the
leading "`v`"):

```bash
$ git tag -a vX.Y.Z -m "Release version vX.Y.Z"
$ git push origin vX.Y.Z
```

When the tag is pushed, GitHub release workflow will be triggered. Verify it has worked
correctly by navigating at [Releases](https://github.com/moodlehq/moodle-cs/releases).

While in that page, optionally, you can edit the release and add any content
to the description, though **it's not recommended** because that may lead to
double release notifications here and there.

0 comments on commit 1ec84f4

Please sign in to comment.