nix: change release scripts to use a version arg
This commit is contained in:
committed by
Steve Chavez
parent
8fd9a9ab5d
commit
51b43f5605
@@ -140,13 +140,13 @@ jobs:
|
||||
command: |
|
||||
export GITHUB_USERNAME="$CIRCLE_PROJECT_USERNAME"
|
||||
export GITHUB_REPONAME="$CIRCLE_PROJECT_REPONAME"
|
||||
postgrest-release-github
|
||||
postgrest-release-github $CIRCLE_TAG
|
||||
- run:
|
||||
name: Publish Docker images
|
||||
command: |
|
||||
export DOCKER_REPO=postgrest
|
||||
postgrest-docker-login
|
||||
postgrest-release-dockerhub
|
||||
postgrest-release-dockerhub $CIRCLE_TAG
|
||||
postgrest-release-dockerhubdescription
|
||||
|
||||
# Build everything in default.nix, push to the Cachix binary cache and run tests
|
||||
|
||||
+13
-18
@@ -12,35 +12,28 @@ let
|
||||
# Version from the postgrest.cabal file (gotten with callCabal2nix).
|
||||
version = postgrest.version;
|
||||
|
||||
# Set of files that will be published in the GitHub release.
|
||||
releaseFiles =
|
||||
runCommand "postgrest-release-files"
|
||||
{ inherit postgrest version; }
|
||||
''
|
||||
set -euo pipefail
|
||||
|
||||
mkdir -p $out
|
||||
|
||||
tar cvJf "$out"/postgrest-v"$version"-linux-x64-static.tar.xz \
|
||||
-C "$postgrest"/bin postgrest
|
||||
'';
|
||||
|
||||
# Script for publishing a new release on GitHub.
|
||||
github =
|
||||
writeShellScriptBin "postgrest-release-github"
|
||||
''
|
||||
set -euo pipefail
|
||||
|
||||
changes="$(sed -n "1,/${version}/d;/## \[/q;p" ${../../CHANGELOG.md})"
|
||||
version=$1
|
||||
|
||||
changes="$(sed -n "1,/$version/d;/## \[/q;p" ${../../CHANGELOG.md})"
|
||||
|
||||
tar cvJf postgrest-$version-linux-x64-static.tar.xz \
|
||||
-C ${postgrest}/bin postgrest
|
||||
|
||||
${ghr}/bin/ghr \
|
||||
-t "$GITHUB_TOKEN" \
|
||||
-u "$GITHUB_USERNAME" \
|
||||
-r "$GITHUB_REPONAME" \
|
||||
-b "$changes" \
|
||||
--replace v${version} \
|
||||
${releaseFiles}
|
||||
--replace $version \
|
||||
postgrest-$version-linux-x64-static.tar.xz
|
||||
'';
|
||||
|
||||
# Wrapper for login with docker. $DOCKER_USER/$DOCKER_PASS vars come from CircleCI.
|
||||
# The DOCKER_USER is not the same as DOCKER_REPO because we use the https://hub.docker.com/u/postgrestbot account for uploading to dockerhub.
|
||||
dockerLogin =
|
||||
@@ -57,13 +50,15 @@ let
|
||||
''
|
||||
set -euo pipefail
|
||||
|
||||
version=$1
|
||||
|
||||
docker load -i ${docker.image}
|
||||
|
||||
docker tag postgrest:latest "$DOCKER_REPO"/postgrest:latest
|
||||
docker tag postgrest:latest "$DOCKER_REPO"/postgrest:v${version}
|
||||
docker tag postgrest:latest "$DOCKER_REPO"/postgrest:$version
|
||||
|
||||
docker push "$DOCKER_REPO"/postgrest:latest
|
||||
docker push "$DOCKER_REPO"/postgrest:v${version}
|
||||
docker push "$DOCKER_REPO"/postgrest:$version
|
||||
'';
|
||||
|
||||
# Script for updating the repository description on Docker Hub.
|
||||
|
||||
Reference in New Issue
Block a user