Fixing versioning code for release

This commit is contained in:
Mike Farah 2022-11-15 20:08:58 +11:00
parent fd35530f35
commit a6d1a52e33
6 changed files with 46 additions and 19 deletions

View File

@ -44,8 +44,6 @@ jobs:
mkdir -p build
cp yq.1 build/yq.1
./scripts/xcompile.sh
env:
VERSION: ${{ steps.get_version.outputs.VERSION }}
- name: Release
uses: softprops/action-gh-release@v1

View File

@ -13,17 +13,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get the version
id: get_version
run: echo "VERSION=${GITHUB_REF##*/}" >> "${GITHUB_OUTPUT}"
- name: Update snapcraft version file
env:
VERSION: ${{ steps.get_version.outputs.VERSION }}
uses: mikefarah/yq@master
with:
cmd: yq -i '.version = strenv(VERSION)' snap/snapcraft.yaml
- uses: snapcore/action-build@v1
id: build
- uses: snapcore/action-publish@v1

View File

@ -11,7 +11,7 @@ var (
GitDescribe string
// Version is main version number that is being run at the moment.
Version = ""
Version = "v4.30.4"
// VersionPrerelease is a pre-release marker for the version. If this is "" (empty string)
// then it means that it is a final release. Otherwise, this is a pre-release

43
scripts/bump-version.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
set -e
if [ "$1" == "" ]; then
echo "Please specify at a version"
exit 1
fi
version=$1
# validate version is in the right format
echo $version | sed -r '/v4\.[0-9][0-9]\.[0-9][0-9]?$/!{q1}'
previousVersion=$(cat cmd/version.go| sed -n 's/.*Version = "\([^"]*\)"/\1/p')
echo "Updating from $previousVersion to $version"
sed -i "s/\(.*Version =\).*/\1 \"$version\"/" cmd/version.go
go build .
actualVersion=$(./yq --version)
if [ "$actualVersion" != "yq (https://github.com/mikefarah/yq/) version $version" ]; then
echo "Failed to update version.go"
exit 1
else
echo "version.go updated"
fi
version=$version ./yq -i '.version=strenv(version)' snap/snapcraft.yaml
actualSnapVersion=$(./yq '.version' snap/snapcraft.yaml)
if [ "$actualSnapVersion" != "$version" ]; then
echo "Failed to update snapcraft"
exit 1
else
echo "snapcraft updated"
fi
git add cmd/version.go snap/snapcraft.yaml
git commit -m 'Bumping version'
git tag $version

View File

@ -2,7 +2,7 @@
set -e
# you may need to go install github.com/mitchellh/gox@v1.0.1 first
echo $VERSION
CGO_ENABLED=0 gox -ldflags "${LDFLAGS} -X github.com/mikefarah/yq/v4/cmd.Version=${VERSION}" -output="build/yq_{{.OS}}_{{.Arch}}" --osarch="darwin/amd64 darwin/arm64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm linux/arm64 linux/mips linux/mips64 linux/mips64le linux/mipsle linux/ppc64 linux/ppc64le linux/s390x netbsd/386 netbsd/amd64 netbsd/arm openbsd/386 openbsd/amd64 windows/386 windows/amd64"
CGO_ENABLED=0 gox -ldflags "${LDFLAGS}" -output="build/yq_{{.OS}}_{{.Arch}}" --osarch="darwin/amd64 darwin/arm64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm linux/arm64 linux/mips linux/mips64 linux/mips64le linux/mipsle linux/ppc64 linux/ppc64le linux/s390x netbsd/386 netbsd/amd64 netbsd/arm openbsd/386 openbsd/amd64 windows/386 windows/amd64"
cd build

View File

@ -1,18 +1,15 @@
name: yq
version: 'v4.30.3'
version: 'v4.30.4'
summary: A lightweight and portable command-line YAML processor
description: |
The aim of the project is to be the jq or sed of yaml files.
base: core18
grade: stable # devel|stable. must be 'stable' to release into candidate/stable channels
confinement: strict
apps:
yq:
command: yq
plugs: [home]
parts:
yq:
plugin: go