Skip to content

Commit

Permalink
(#1754) Update documentation about contributing to repo
Browse files Browse the repository at this point in the history
This commit updates the documentation we have for contributing
to the repository that needs to be followed.
  • Loading branch information
AdmiringWorm committed Feb 24, 2023
1 parent a1cb7a3 commit e32dd74
Show file tree
Hide file tree
Showing 3 changed files with 306 additions and 172 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CREATE_PR: true
TARGET_PATHS: "README*.md,CONTRIBUTING*.md"
TARGET_PATHS: "README*.md,CONTRIBUTING*.md,COMMITTERS*.md"
FOLDING: true
COMMIT_MESSAGE: '(docs) Update TOC'
PR_TITLE: '(docs) Update TOC (${PR_MERGE_REF})'
52 changes: 52 additions & 0 deletions COMMITTERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Committers guidelines

This file details what is needed for different operations in the repository that can not be handled by opening pull requests.

<!-- markdownlint-disable -->
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<details>
<summary>Table of Contents</summary>

- [Providing fix versions](#providing-fix-versions)
- [Request a normal fix version creation](#request-a-normal-fix-version-creation)
- [Request a normal fix version creation for a stream](#request-a-normal-fix-version-creation-for-a-stream)
- [Request a fixed version update](#request-a-fixed-version-update)
- [Requesting a fix for a package using 4 part version number](#requesting-a-fix-for-a-package-using-4-part-version-number)

</details>
<!-- END doctoc generated TOC please keep comment here to allow auto update -->

<!-- markdownlint-enable -->

## Providing fix versions

Before providing a fix version you need to determine what the existing version specified in the repository is, what type of version it makes use of and whether the package contains additional handling of creating fix versions.

### Request a normal fix version creation

A normal fix version creation is intended for packages that does not make use of streams, and does not use a 4 part version number. This is typically determined by whether there is no json file available in the package directory, and the package metadata file makes have a 2 or 3 part version number.

To request a fix version in this case, create an empty commit with the message `[AU packageName]`. This can be done by using the following command line call: `git commit --allow-empty-commit -m "[AU packageName]"` (replace packageName with the actual name of the package).

### Request a normal fix version creation for a stream

To request a normal fix version for a stream you need to figure out what the name of the stream you want to force the fix version of is called. For all packages that support streams, it is expected to have a json file next to its metadata file that contains a list of the different streams, and the last version that was found for that stream. Find the stream in this file, make sure that the stream uses a 2 or 3 part version number.
It is common that the highest version being used is located in the stream name `latest` (however, not always).

To then request a fix version in this case you, create an empty commit with the message `[AU packageName\streamName]`. This can be done by using the following command line call: `git commit --allow-empty-commit -m "[AU packageName\streamName]` (replace packageName with the actual name of the package, and streamName with the name of the stream).

#### Request a fixed version update

If you need to update the same version that had been previously submitted, or if the package you want make use of a 4 part version number you may need to specify the exact version you want to push.
It is very important to note here that the version used will only change the version specified in the metadata file of the pushed package, and not decide which version of the software that will be pulled down from any upstream location.

To create a fixed version update you may use `[AU packageName:packageVersion]` for normal packages, and `[AU packageName\streamVersion:packageVersion]` for stream packages using the same git command mentioned previously.

#### Requesting a fix for a package using 4 part version number

If there is a need to create a fix version for a package that already uses 4 parts of the version number, you will need to add or update the update script first.
Before setting the `Version` parameter to the returned object in `au_GetLatest` add a call to the function `Get-FixVersion`, this call should also include the parameter `-OnlyFixBelowVersion` that it set to the next patch version of the package.
See [gom-player](https://github.com/chocolatey-community/chocolatey-packages/blob/1849e4d17c66ff11cd48f4b8c9bf861add15bb68/automatic/gom-player/update.ps1#L38) for an example of this.

After committing this change, you can do a normal fix version creation.
Loading

0 comments on commit e32dd74

Please sign in to comment.