Skip to content

8.2.2 Recommended Stable Version #23

8.2.2 Recommended Stable Version

8.2.2 Recommended Stable Version #23

name: Release Validation
on:
release:
types:
- released
- prereleased
- edited
jobs:
release_number:
name: Release Number Validation
runs-on: ubuntu-latest
if: github.ref_name != 'latest'
steps:
### Check the version number in the code matches the tag number
- uses: actions/checkout@v2
- name: Retrieve the version number(s)
run: |
TAG_VERSION=$(sed "s/^v//" <<< $GITHUB_REF_NAME)
INI_VERSION=$(grep -E '^version *=' platformio.ini | awk -F" *= *" '{print $NF}')
CODE_VERSION=$(grep -E '^#define VERSION' firmware/open_evse/open_evse.h | awk -F'"D?' '{print $2}')
echo TAG_VERSION=$TAG_VERSION >> $GITHUB_ENV
echo INI_VERSION=$INI_VERSION >> $GITHUB_ENV
echo CODE_VERSION=$CODE_VERSION >> $GITHUB_ENV
- name: Check the version number is semver compliant
run: |
if ! [[ $TAG_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-z]*[0-9]+)?$ ]]; then
echo "ERROR: The version number is not semver compliant"
exit 1
fi
- name: Check the version number in the code matches the tag number
run: |
if [ "$TAG_VERSION" != "$CODE_VERSION" ]; then
echo "ERROR: The version number in the code ($CODE_VERSION) does not match the tag number ($TAG_VERSION)"
exit 1
fi
- name: Check the version number in `platform.ini` matches the tag number
run: |
if [ "$TAG_VERSION" != "$INI_VERSION" ]; then
echo "ERROR: The version number in `platform.ini` ($INI_VERSION) does not match the tag number ($TAG_VERSION)"
exit 1
fi