Semver Info Action
ActionsCleans, parses, and compares semantic versions, providing essential insights into versioning, stability, and
compatibility
2.0.47
LatestBy YunaBraska
Tags
(2)Cleans, parses, and compares semantic versions, providing essential insights into versioning, stability, and compatibility, making software release management a breeze!
- update Shields/Badges see ShieldsDemo
# RUNNER
- name: "Read Semver Info"
id: "semver_info"
uses: YunaBraska/semver-info-action@main
# CONFIGS (Optional)
with:
semver-a: 'v1.2.3-rc.4'
semver-b: 'v5.6.7-rc.8'
fallBack-semver-a: '0.0.1'
fallBack-semver-b: '0.0.1'
increase-a: 'none'
increase-b: 'none'
# PRINT
- name: "Print Semver Info"
run: |
echo "clean_semver [${{ steps.semver_info.outputs.clean_semver }}]"
echo "is_stable [${{ steps.semver_info.outputs.is_stable }}]"
echo "is_valid_semver [${{ steps.semver_info.outputs.is_valid_semver }}]"
echo "is_major_change [${{ steps.semver_info.outputs.is_major_change }}]"
echo "is_a_greater_than_b [${{ steps.semver_info.outputs.is_greater_a }}]"
echo "next_major [${{ steps.semver_info.outputs.next_major }}]"
echo "next_major_a [${{ steps.semver_info.outputs.next_major_a }}]"
echo "next_major_b [${{ steps.semver_info.outputs.next_major_b }}]"
echo "next_minor [${{ steps.semver_info.outputs.next_minor }}]"
echo "next_patch [${{ steps.semver_info.outputs.next_patch }}]"
echo "next_rc [${{ steps.semver_info.outputs.next_rc }}]"
parameter | Example | Default | Description |
---|---|---|---|
semver-a | v1.2.3-rc.4 | null | Semver A to process |
semver-b | v5.6.7-rc.8 | null | Semver B to process - will be compared against the first semver |
fallBack-semver-a | 0.0.1 | null | The fallback version A in case version A is not valid |
fallBack-semver-b | 0.0.1 | null | The fallback version B in case version B is not valid |
increase-a | major | null | Increase version A before processing [major, minor, patch, rc] |
increase-b | patch | null | Increase version B before processing [major, minor, patch, rc] |
null-to-empty | true | true | Replaces null values with empty strings |
use-version-txt | true | false | Overwrites input semver-b with the version from version.txt file - if the file exists and the version is valid |
Name | Example | Default | Description |
---|---|---|---|
clean_semver | 5.6.7-rc.8 | null | The cleaned and normalized version without any prefix (highest semver wins) |
clean_semver_a | 1.2.3-rc.4 | null | The cleaned and normalized version A without any prefix |
clean_semver_b | 5.6.7-rc.8 | null | The cleaned and normalized version B without any prefix |
is_greater_a | false | false | Whether A is greater than B |
is_smaller_a | true | false | Whether A is smaller than B |
is_greater_b | true | false | Whether B is greater than A |
is_smaller_b | false | false | Whether B is smaller than A |
change_type | major | null | Diff A and B change [major, minor, patch, rc] |
is_major_change | true | false | If diff A and B is a major change |
is_minor_change | false | false | If diff A and B is a minor change |
is_patch_change | false | false | If diff A and B is a patch change |
is_rc_change | false | false | If diff A and B is a rc (release candidate) change |
is_valid_semver | true | false | Whether the semver is valid (highest semver wins) |
is_valid_semver_a | true | false | Whether semver A is valid |
is_valid_semver_b | true | false | Whether semver B is valid |
is_stable | false | false | Whether the version is stable (doesn't contain any pre-release tag) (highest semver wins) |
is_stable_a | false | false | Whether version A is stable (doesn't contain any pre-release tag) |
is_stable_b | false | false | Whether version B is stable (doesn't contain any pre-release tag) |
major | 5 | null | The major version of provided semver (highest semver wins) |
major_a | 1 | null | The major version of A |
major_b | 5 | null | The major version of B |
minor | 6 | null | The minor version of provided semver (highest semver wins) |
minor_a | 2 | null | The minor version of A |
minor_b | 6 | null | The minor version of B |
patch | 7 | null | The patch version of provided semver (highest semver wins) |
patch_a | 3 | null | The patch version of A |
patch_b | 7 | null | The patch version of B |
rc | 8 | null | The release candidate version of provided semver (highest semver wins) |
rc_a | 4 | null | The release candidate version of A |
rc_b | 8 | null | The release candidate version of B |
rc_str | rc | null | The prefix of the release candidate version (highest semver wins) |
rc_str_a | rc | null | The prefix of the release candidate version of A |
rc_str_b | rc | null | The prefix of the release candidate version of B |
next_major | 6.0.0 | null | The next major version of provided semver (highest semver wins) |
next_major_a | 2.0.0 | null | The next major version of A |
next_major_b | 6.0.0 | null | The next major version of B |
next_minor | 6.0.0 | null | The next minor version of provided semver (highest semver wins) |
next_minor_a | 2.0.0 | null | The next minor version of A |
next_minor_b | 6.0.0 | null | The next minor version of B |
next_patch | 6.0.0 | null | The next patch version of provided semver (highest semver wins) |
next_patch_a | 2.0.0 | null | The next patch version of A |
next_patch_b | 6.0.0 | null | The next patch version of B |
next_rc | 6.0.0 | null | The next rc version of provided semver (highest semver wins) |
next_rc_a | 2.0.0 | null | The next rc version of A |
next_rc_b | 6.0.0 | null | The next rc version of B |
original-semver-a | v1.2.3-rc.4 | null | Semver A to process |
original-semver-b | v5.6.7-rc.8 | null | Semver B to process - will be compared with first semver |
fallBack-semver-a | 0.0.1 | null | The fallback version A in case the original version A is not valid |
fallBack-semver-b | 0.0.1 | null | The fallback version B in case the original version B is not valid |
version_txt | 1.2.3 | null | semver from version file |
version_txt_path | /project/version.txt | null | path of version file |
- Build:
npm run build
to "compile"index.ts
to./lib/index.js
- Test:
npm run test
- clean environment:
./clean_node.sh
- Hint: please do not remove the node modules as they are required for custom GitHub actions :(
Semver Info Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.