Skip to content

Commit

Permalink
Merge pull request #30 from b0bben/action-path-lookup-windows
Browse files Browse the repository at this point in the history
Add Windows runners compatibility
  • Loading branch information
ps-jay authored Apr 24, 2024
2 parents acb0193 + 8df12f2 commit dee3ec8
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test-and-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
os:
- macos-latest
- ubuntu-latest
# - windows-latest -- coming soon, https://github.com/reecetech/version-increment/pull/30
- windows-latest
fail-fast: true
runs-on: ${{ matrix.os }}
steps:
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@

## Use 📄

> [!NOTE]
> This action is confirmed to work on all three of GitHub's hosted runners -
> `ubuntu-latest`, `macos-latest` and `windows-latest` - at the point in time of the release of the action
### Example ⌨️

```yaml
- name: Checkout code
uses: actions/checkout@v4

- name: Get next version
uses: reecetech/version-increment@2023.9.3
uses: reecetech/version-increment@2024.4.3
id: version
with:
scheme: semver
Expand All @@ -30,7 +34,7 @@ use the API mode:
```yaml
- name: Get next version
uses: reecetech/[email protected].1
uses: reecetech/[email protected].3
id: version
with:
use_api: true
Expand Down
4 changes: 2 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,15 @@ runs:
using: "composite"
steps:
- id: version-lookup
run: ${{ github.action_path }}/version-lookup.sh
run: "${GITHUB_ACTION_PATH}/version-lookup.sh"
shell: bash
env:
github_token: ${{ github.token }}
scheme: ${{ inputs.scheme }}
use_api: ${{ inputs.use_api }}

- id: version-increment
run: ${{ github.action_path }}/version-increment.sh
run: "${GITHUB_ACTION_PATH}/version-increment.sh"
shell: bash
env:
current_version: ${{ steps.version-lookup.outputs.CURRENT_VERSION }}
Expand Down
3 changes: 3 additions & 0 deletions shared.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
# shellcheck disable=SC2034
set -euo pipefail

# Force UTF-8 for all commands, for Git-Bash on Windows compatibility
export LC_ALL=C.UTF-8

##==----------------------------------------------------------------------------
## SemVer regexes
## see: https://semver.org/spec/v2.0.0.html#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
Expand Down
43 changes: 26 additions & 17 deletions tests/test_version-increment.bats
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
#!/usr/bin/env bats
# vim: set ft=sh sw=4 :

setup() {
# get the containing directory of this file
# use $BATS_TEST_FILENAME instead of ${BASH_SOURCE[0]} or $0,
# as those will point to the bats executable's location or the preprocessed file respectively
DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )"
# make executables in src/ visible to PATH
PATH="$DIR/../:$PATH"
}

load helper_print-info

export repo=".tmp_testing/repo"
Expand All @@ -22,7 +31,7 @@ function init_repo {
@test "fails if no current_version given" {
init_repo

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 8 ] &&
Expand All @@ -34,7 +43,7 @@ function init_repo {

export current_version=1.3.5-prerelease

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 8 ] &&
Expand All @@ -46,7 +55,7 @@ function init_repo {

export scheme="foover"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 8 ] &&
Expand All @@ -58,7 +67,7 @@ function init_repo {

export pep440="yes"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 8 ] &&
Expand All @@ -70,7 +79,7 @@ function init_repo {

export increment="critical"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 8 ] &&
Expand All @@ -90,7 +99,7 @@ function init_repo {
export current_version=1.2.3
export increment="patch"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -106,7 +115,7 @@ function init_repo {
export current_version=1.2.3
export increment="minor"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -123,7 +132,7 @@ function init_repo {
export pep404="false"
export increment="minor"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -139,7 +148,7 @@ function init_repo {
export current_version=1.2.3
export increment="major"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -156,7 +165,7 @@ function init_repo {
export pep404="true"
export increment="major"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -172,7 +181,7 @@ function init_repo {
export current_version=1.2.3
export increment="major"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -189,7 +198,7 @@ function init_repo {
export current_version=2020.6.4
export scheme="calver"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -202,7 +211,7 @@ function init_repo {
export current_version="$(date +%Y.%-m.123)"
export scheme="calver"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -216,7 +225,7 @@ function init_repo {
export GITHUB_REF="refs/heads/super-awesome-feature"
export short_ref="$(git rev-parse --short HEAD | sed 's/0*//')"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -231,7 +240,7 @@ function init_repo {
export GITHUB_REF="refs/heads/releases"
export release_branch="releases"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -248,7 +257,7 @@ function init_repo {
export GITHUB_REF="refs/heads/super-awesome-python"
export short_ref="$(git rev-parse --short HEAD | sed 's/0*//')"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -265,7 +274,7 @@ function init_repo {
export GITHUB_REF="refs/heads/super-awesome-python"
export short_ref="$(git rev-parse --short HEAD | sed 's/0*//')"

run ../../version-increment.sh
run version-increment.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand Down
25 changes: 17 additions & 8 deletions tests/test_version-lookup.bats
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@ load helper_print-info

export repo=".tmp_testing/repo"

setup() {
# get the containing directory of this file
# use $BATS_TEST_FILENAME instead of ${BASH_SOURCE[0]} or $0,
# as those will point to the bats executable's location or the preprocessed file respectively
DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )"
# make executables in src/ visible to PATH
PATH="$DIR/../:$PATH"
}

function init_repo {
rm -rf "${repo}" &&
mkdir -p "${repo}" &&
Expand All @@ -22,7 +31,7 @@ function init_repo {

export scheme="foover"

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 8 ] &&
Expand All @@ -43,7 +52,7 @@ function init_repo {
git tag 0.1.1
git tag 0.1.2

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -55,7 +64,7 @@ function init_repo {

git tag 0.1.2

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -69,7 +78,7 @@ function init_repo {
git tag 1.2.300
git tag 1.2.301-dev.234

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -79,7 +88,7 @@ function init_repo {
@test "returns 0.0.0 if no normal version detected" {
init_repo

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -91,7 +100,7 @@ function init_repo {

git tag 0.0.1-dev.999

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -103,7 +112,7 @@ function init_repo {

export scheme="calver"

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand All @@ -115,7 +124,7 @@ function init_repo {

git tag v3.4.5

run ../../version-lookup.sh
run version-lookup.sh

print_run_info
[ "$status" -eq 0 ] &&
Expand Down

0 comments on commit dee3ec8

Please sign in to comment.