Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Towards better release procedure #152

Merged
merged 2 commits into from
Apr 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
stronk7 marked this conversation as resolved.
Show resolved Hide resolved