diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..c1fb6e6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +sudo: required + +services: + - docker + +script: + - bash update-version.sh diff --git a/Dockerfile b/Dockerfile index 29020b5..5e87aa0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,8 @@ FROM alpine LABEL maintainer "Knut Ahlers " -ENV VAULT_VERSION=0.8.1 \ - VAULT_HASH=3c4d70ba71619a43229e65c67830e30e050eab7a81ac6b28325ff707e5914188 +ENV VAULT_VERSION 0.8.1 +ENV VAULT_HASH 3c4d70ba71619a43229e65c67830e30e050eab7a81ac6b28325ff707e5914188 ADD https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip /tmp/vault.zip diff --git a/update-version.sh b/update-version.sh new file mode 100755 index 0000000..461ced0 --- /dev/null +++ b/update-version.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +set -e +set -o pipefail + +### ---- ### + +echo "Switch back to master" +git checkout master +git reset --hard origin/master + +### ---- ### + +echo "Fetching latest version..." +LATEST=$(curl -sSLf 'https://latest.luzifer.io/catalog-api/vault/latest.txt?p=version') + +echo "Getting SHA256SUM for Linux AMD64 version..." +SHASUM=$(curl -s https://releases.hashicorp.com/vault/${LATEST}/vault_${LATEST}_SHA256SUMS | awk '/linux_amd64/{print $1}') + +echo "Testing availability of archive 'vault_${LATEST}_linux_amd64.zip'..." +curl -sSLIfo /dev/null https://releases.hashicorp.com/vault/${LATEST}/vault_${LATEST}_linux_amd64.zip + +echo "Found version ${LATEST}, patching..." +sed -i "s/ENV VAULT_VERSION .*$/ENV VAULT_VERSION ${LATEST}/" Dockerfile +sed -i "s/ENV VAULT_HASH .*$/ENV VAULT_HASH ${SHASUM}/" Dockerfile + +echo "Checking for changes..." +git diff --exit-code && exit 0 + +echo "Testing build..." +docker build . + +echo "Updating repository..." +git add Dockerfile +git -c user.name='Travis Automated Update' -c user.email='travis@luzifer.io' \ + commit -m "Vault ${LATEST}" +git tag ${LATEST} + +git push -q https://${GH_USER}:${GH_TOKEN}@github.com/luzifer-docker/vault.git master --tags