16 Commits

Author SHA1 Message Date
Phil Jay
3d5d532814 Avoid version 2020 warning
e.g.

```
🛑 The major version number is greater than 2020, but the scheme is not set to 'calver'
```
2023-10-19 00:25:49 +11:00
Phil Jay
b78a17540f Test use_api branch 2023-10-19 00:20:53 +11:00
Phil Jay
de5ab041fb Merge pull request #25 from reecetech/update-shellcheck-action
Update shellcheck action
2023-09-20 10:41:05 +10:00
Phil Jay
3ac8392aa4 Update to latest shellcheck
Solves for `set-output` deprecation warnings
2023-09-20 10:39:13 +10:00
Phil Jay
72c1fa6077 Bump up example version 2023-09-20 10:38:38 +10:00
Phil Jay
f21e559797 Merge pull request #24 from reecetech/swtich-to-softprops/action-gh-release
Replace out-of-date action
2023-09-20 10:36:27 +10:00
Phil Jay
4415fcb6c0 Replace out-of-date action
The update to node 16 has been un-merged for a long time: https://github.com/marvinpinto/action-automatic-releases/pull/2
2023-09-20 10:33:38 +10:00
Phil Jay
4846cbaf9d Merge pull request #23 from ps-jay/main
Introduce test for `release_branch`, & update README
2023-09-18 09:11:58 +10:00
Phil Jay
468208262a Default variable to blank string 2023-09-18 09:01:27 +10:00
Phil Jay
e5f8667dfc Add test for release_branch 2023-09-18 09:01:27 +10:00
Phil Jay
2ef15157dd Update README 2023-09-18 09:01:27 +10:00
Phil Jay
0974302def Merge pull request #22 from octoev/main
Add release branch as an input
2023-09-18 09:00:11 +10:00
Adam Short
67d70b45a4 Specify "release_branch" is not required 2023-09-05 10:15:26 +01:00
adamshortev
47e175a747 Apply suggestions from code review
Co-authored-by: Chris Bennett <110393183+oev-chrisbennett@users.noreply.github.com>
2023-08-30 11:48:14 +01:00
Adam Short
8202de8885 Give action unique name. 2023-08-30 11:17:54 +01:00
Adam Short
fa8feb816e Add release branch as an input 2023-08-25 16:46:55 +01:00
5 changed files with 37 additions and 54 deletions

View File

@@ -9,56 +9,12 @@ on:
- '**'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@94e0aab03ca135d11a35e5bfc14e6746dc56e7e9 # v1.1.0
with:
check_together: 'yes'
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup bats
uses: mig4/setup-bats@af9a00deb21b5d795cabfeaa8d9060410377686d # v1.2.0
- name: Get next version
uses: reecetech/version-increment@use_api
id: version
with:
bats-version: 1.8.0
- name: Test
run: bats tests/*.bats
release:
needs:
- lint
- test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Lookup version
id: version-lookup
run: ./version-lookup.sh
- name: Increment version
id: version-increment
run: ./version-increment.sh
env:
current_version: ${{ steps.version-lookup.outputs.CURRENT_VERSION }}
scheme: calver
- name: Release version
uses: marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0 # v1.2.1
if: ${{ github.ref_name == github.event.repository.default_branch }}
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
draft: false
prerelease: false
automatic_release_tag: "${{ steps.version-increment.outputs.VERSION }}"
use_api: true

View File

@@ -9,7 +9,7 @@
uses: actions/checkout@v2
- name: Get next version
uses: reecetech/version-increment@2023.4.1
uses: reecetech/version-increment@2023.9.3
id: version
with:
scheme: semver
@@ -86,6 +86,7 @@ Examples:
| scheme | The versioning scheme in-use, either `semver` or `calver` | No | `semver` |
| pep440 | Set to `true` for PEP440 compatibility of _pre-release_ versions by making use of the build metadata segment of semver, which maps to local version identifier in PEP440 | No | `false` |
| increment | The digit to increment, either `major`, `minor` or `patch`, ignored if `scheme` == `calver` | No | `patch` |
| release_branch | Specify a non-default branch to use for the release tag (the one without -pre) | No | |
### 📤 Outputs

View File

@@ -22,6 +22,10 @@ inputs:
Not applicable to `calver` scheme
required: false
default: 'patch'
release_branch:
description: 'Specify a non-default branch to use for the release tag (the one without -pre)'
required: false
type: string
outputs:
current-version:
@@ -75,3 +79,4 @@ runs:
increment: ${{ inputs.increment }}
pep440: ${{ inputs.pep440 }}
scheme: ${{ inputs.scheme }}
release_branch: ${{ inputs.release_branch }}

View File

@@ -224,6 +224,22 @@ function init_repo {
[[ "$output" = *"VERSION=1.2.4-pre.${short_ref}"* ]]
}
@test "does not append prerelease information if on a specified release_branch" {
init_repo
export current_version=1.2.3
export GITHUB_REF="refs/heads/releases"
export release_branch="releases"
run ../../version-increment.sh
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" != *"PRE_RELEASE_LABEL=pre."* ]] &&
[[ "$output" != *"VERSION=1.2.4-pre."* ]] &&
[[ "$output" = *"VERSION=1.2.4"* ]]
}
@test "appends prerelease information in pep440 compatible way when pep440 is true" {
init_repo

View File

@@ -32,6 +32,11 @@ default_branch='main'
if [[ -z "${BATS_VERSION:-}" ]] ; then
default_branch="$(git remote show origin | ${grep} 'HEAD branch' | cut -d ' ' -f 5)"
fi
# use release_branch if not empty
if [[ -n "${release_branch:-}" ]] ; then
default_branch="${release_branch}"
fi
current_ref="${GITHUB_REF:-}"
git_commit="$(git rev-parse --short HEAD | sed 's/0*//')" # trim leading zeros, because semver doesn't allow that in
# the 'pre-release version' part, but we can't use the + char