Skip to content

Remove sshproxy utility (#78) #27

Remove sshproxy utility (#78)

Remove sshproxy utility (#78) #27

Workflow file for this run

# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.
name: changelog
on:
push:
branches:
- develop
paths-ignore:
- 'CHANGELOG.md'
- 'VERSION'
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Check out head
uses: actions/checkout@v3
with:
token: ${{ secrets.COVALENT_OPS_BOT_TOKEN }}
- name: Update version number
run: |
HEAD_VERSION="$(cat ./VERSION)"
begin=8
end=$(tail -n +$((begin+1)) ./CHANGELOG.md |
grep -n -m 1 "\b${HEAD_VERSION}\b" |
cut -d ':' -f 1)
patch=false
minor=false
noupdate=false
while IFS= read -r line ; do
if [[ $line = *"### Added"* ]] ||
[[ $line = *"### Changed"* ]] ||
[[ $line = *"### Removed"* ]] ; then
minor=true
fi
if [[ $line = *"### Fixed"* ]] ; then
patch=true
fi
if [[ $line = *"### Tests"* ]] ||
[[ $line = *"### Docs"* ]] ; then
noupdate=true
fi
done <<< "$(tail +$begin ./CHANGELOG.md | head -$end)"
IFS='.' read -ra semver <<< "$HEAD_VERSION"
vmajor="${semver[0]}"
vminor="${semver[1]}"
vpatch="${semver[2]}"
if $minor; then
#increment minor version
vminor="$(( vminor + 1 ))"
vpatch=0
elif $patch; then
#increment patch version
vpatch="$(( vpatch + 1 ))"
elif $noupdate; then
#do nothing
:
else
echo 'Changelog does not contain enough information to update the version.'
exit 1
fi
version="${vmajor}.${vminor}.${vpatch}"
changelog_header="## [${version}] - $(date -I)"
message="noop"
if $minor || $patch ; then
message="The new version will be $version"
nl=$'\n'
sed -i '/UNRELEASED/a\'$'\n''\'$'\n'"$changelog_header" CHANGELOG.md
echo $version > VERSION
echo $message
else
echo "This PR only contains updates to tests and docs. No release will be created."
fi
echo "MESSAGE=$message" >> $GITHUB_ENV
- name: Commit
if: ${{ env.MESSAGE != 'noop' }}
uses: EndBug/add-and-commit@v9
with:
author_name: CovalentOpsBot
author_email: [email protected]
message: ${{ env.MESSAGE }}
push: origin develop --force