From 96b4ffbf5bad5b7effd9fc723aff9c6da0401bda Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 29 Aug 2020 15:54:49 -0400 Subject: [PATCH] chore: drop herokuish release code This is now done upstream in the herokuish project. --- Makefile | 1 + contrib/build-herokuish.Dockerfile | 16 --- contrib/release-herokuish | 160 ----------------------------- deb.mk | 36 +------ rpm.mk | 31 +----- tests/ci/setup.sh | 2 +- 6 files changed, 5 insertions(+), 241 deletions(-) delete mode 100644 contrib/build-herokuish.Dockerfile delete mode 100755 contrib/release-herokuish diff --git a/Makefile b/Makefile index 5c63554ad..2acad528f 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ DOKKU_VERSION ?= master +HEROKUISH_VERSION ?= 0.5.15 PROCFILE_VERSION ?= 0.8.2 PLUGN_VERSION ?= 0.5.0 SIGIL_VERSION ?= 0.6.0 diff --git a/contrib/build-herokuish.Dockerfile b/contrib/build-herokuish.Dockerfile deleted file mode 100644 index 1360091aa..000000000 --- a/contrib/build-herokuish.Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM dokku/build-base:0.0.1 - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update && apt-get -y install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db -RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc - -ARG WORKDIR=/go/src/github.com/dokku/dokku - -WORKDIR ${WORKDIR} - -COPY . ${WORKDIR} - -RUN make deb-herokuish rpm-herokuish - -RUN ls -lha /tmp/ diff --git a/contrib/release-herokuish b/contrib/release-herokuish deleted file mode 100755 index 7e584b378..000000000 --- a/contrib/release-herokuish +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail -[[ $TRACE ]] && set -x - -readonly ROOT_DIR="$(cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")" && pwd)" -readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXXXX")" -readonly DOKKU_GIT_REV="$(git rev-parse HEAD)" - -trap 'rm -rf "$TMP_WORK_DIR" >/dev/null' RETURN INT TERM EXIT - -log-info() { - # shellcheck disable=SC2034 - declare desc="Log info formatter" - echo "$*" -} - -log-error() { - # shellcheck disable=SC2034 - declare desc="Log error formatter" - echo "! $*" 1>&2 -} - -log-fail() { - # shellcheck disable=SC2034 - declare desc="Log fail formatter" - log-error "$*" - exit 1 -} - -fn-build-dokku() { - declare desc="Builds dokku packages within a docker container" - - pushd "$ROOT_DIR" >/dev/null - docker build \ - -f "contrib/build-herokuish.Dockerfile" \ - -t herokuish:build . - return "$?" -} - -fn-extract-package() { - declare desc="Extract packages from a docker container to the root directory" - declare PACKAGE_NAME="$1" - - if [[ -z "$PACKAGE_NAME" ]]; then - log-error "Invalid deb file specified" - return 1 - fi - - log-info "(extract-package) writing ${PACKAGE_NAME} to correct path" - docker run --rm --entrypoint cat herokuish:build "/tmp/${PACKAGE_NAME}" >"${ROOT_DIR}/build/${PACKAGE_NAME}" - return "$?" -} - -fn-publish-package() { - declare desc="Publishes a package to packagecloud" - declare IS_RELEASE="$1" RELEASE_TYPE="$2" PACKAGE_NAME="$3" - local REPOSITORY=dokku/dokku-betafish DIST=ubuntu - local OS_ID ex EXIT_CODE=0 - - [[ "$IS_RELEASE" == "true" ]] && REPOSITORY=dokku/dokku - [[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7 - - if [[ "$DIST" == "ubuntu" ]]; then - OS_IDS=("xenial" "bionic" "focal") - for OS_ID in "${OS_IDS[@]}"; do - log-info "(release-herokuish) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}" - package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME" - ex="$?" - if [[ "$ex" -ne "0" ]]; then - EXIT_CODE="$ex" - fi - done - - DIST=debian - OS_IDS=("stretch" "buster") - for OS_ID in "${OS_IDS[@]}"; do - log-info "(release-herokuish) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}" - package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME" - ex="$?" - if [[ "$ex" -ne "0" ]]; then - EXIT_CODE="$ex" - fi - done - else - log-info "(release-herokuish) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}" - package_cloud push "${REPOSITORY}/${DIST}" "$PACKAGE_NAME" - EXIT_CODE="$?" - fi - return "$EXIT_CODE" -} - -fn-in-array() { - declare desc="return true if value ($1) is in list (all other arguments)" - - local e - for e in "${@:2}"; do - [[ "$e" == "$1" ]] && return 0 - done - return 1 -} - -fn-is-release() { - declare desc="Checks if a given run is a release run" - declare RELEASE="$1" - local IS_RELEASE=false - if [[ "$RELEASE" == "major" ]] || [[ "$RELEASE" == "minor" ]] || [[ "$RELEASE" == "patch" ]]; then - IS_RELEASE=true - fi - - echo "$IS_RELEASE" -} - -fn-require-bin() { - declare desc="Checks that a binary exists" - declare BINARY="$1" - if ! command -v "$BINARY" &>/dev/null; then - log-fail "Missing ${BINARY}, please install it" - fi -} - -main() { - declare RELEASE="$1" - local NEXT_VERSION - local VALID_RELEASE_LEVELS=("major" "minor" "patch" "betafish" "build") - - if [[ "$RELEASE" == '--trace' ]]; then - shift 1 - RELEASE="$1" - TRACE=1 && set -x - fi - - if [[ -z "$RELEASE" ]]; then - log-fail "Argument 1 must be one of [major, minor, patch, betafish, build], none given" - fi - - if ! fn-in-array "$RELEASE" "${VALID_RELEASE_LEVELS[@]}"; then - log-fail "Argument 1 must be one of [major, minor, patch, betafish, build], '${RELEASE}' given" - fi - - mkdir -p "build" - fn-require-bin "docker" - if [[ "$RELEASE" != "build" ]]; then - fn-require-bin "package_cloud" - [[ -n "$PACKAGECLOUD_TOKEN" ]] || log-fail "Missing PACKAGECLOUD_TOKEN environment variable" - fi - - NEXT_VERSION="$(grep HEROKUISH_VERSION deb.mk | head -n1 | cut -d'=' -f2 | xargs)" - IS_RELEASE="$(fn-is-release "$RELEASE")" - - fn-build-dokku || log-fail "Error building package" - fn-extract-package "herokuish_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package" - fn-extract-package "herokuish-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error extracting rpm package" - - if [[ "$RELEASE" != "build" ]]; then - fn-publish-package "$IS_RELEASE" "deb" "build/herokuish_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package" - fn-publish-package "$IS_RELEASE" "rpm" "build/herokuish-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error publishing rpm package" - fi -} - -main "$@" diff --git a/deb.mk b/deb.mk index 59a5961ff..84fec67ca 100644 --- a/deb.mk +++ b/deb.mk @@ -1,11 +1,5 @@ BUILD_DIRECTORY ?= /tmp -HEROKUISH_DESCRIPTION = 'Herokuish uses Docker and Buildpacks to build applications like Heroku' -HEROKUISH_REPO_NAME ?= gliderlabs/herokuish -HEROKUISH_VERSION ?= 0.5.15 -HEROKUISH_ARCHITECTURE = amd64 -HEROKUISH_PACKAGE_NAME = herokuish_$(HEROKUISH_VERSION)_$(HEROKUISH_ARCHITECTURE).deb - DOKKU_DESCRIPTION = 'Docker powered PaaS that helps you build and manage the lifecycle of applications' DOKKU_REPO_NAME ?= dokku/dokku DOKKU_ARCHITECTURE = amd64 @@ -35,7 +29,7 @@ endif export SIGIL_DESCRIPTION -.PHONY: install-from-deb deb-all deb-herokuish deb-dokku deb-dokku-update deb-setup deb-sigil +.PHONY: install-from-deb deb-all deb-dokku deb-dokku-update deb-setup deb-sigil install-from-deb: @echo "--> Initial apt-get update" @@ -51,7 +45,7 @@ install-from-deb: sudo apt-get update -qq >/dev/null sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -yy dokku -deb-all: deb-setup deb-herokuish deb-dokku deb-sigil deb-dokku-update +deb-all: deb-setup deb-dokku deb-sigil deb-dokku-update mv $(BUILD_DIRECTORY)/*.deb . @echo "Done" @@ -62,32 +56,6 @@ deb-setup: @command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc @ssh -o StrictHostKeyChecking=no git@github.com || true -deb-herokuish: - rm -rf /tmp/tmp /tmp/build $(HEROKUISH_PACKAGE_NAME) - mkdir -p /tmp/tmp /tmp/build - - @echo "-> Creating deb files" - @echo "#!/usr/bin/env bash" >> /tmp/tmp/post-install - @echo "sleep 5" >> /tmp/tmp/post-install - @echo "echo 'Importing herokuish into docker (around 5 minutes)'" >> /tmp/tmp/post-install - @echo 'if [[ -n $${http_proxy+x} ]]; then echo "See the docker pull docs for proxy configuration"; fi' >> /tmp/tmp/post-install - @echo 'if [[ -n $${https_proxy+x} ]]; then echo "See the docker pull docs for proxy configuration"; fi' >> /tmp/tmp/post-install - @echo 'if [[ -n $${BUILDARGS+x} ]]; then echo "See the docker pull docs for proxy configuration"; fi' >> /tmp/tmp/post-install - @echo "sudo docker pull gliderlabs/herokuish:v${HEROKUISH_VERSION} && sudo docker tag gliderlabs/herokuish:v${HEROKUISH_VERSION} gliderlabs/herokuish:latest" >> /tmp/tmp/post-install - - @echo "-> Creating $(HEROKUISH_PACKAGE_NAME)" - sudo fpm -t deb -s dir -C /tmp/build -n herokuish \ - --version $(HEROKUISH_VERSION) \ - --architecture $(HEROKUISH_ARCHITECTURE) \ - --package $(BUILD_DIRECTORY)/$(HEROKUISH_PACKAGE_NAME) \ - --deb-pre-depends 'docker-engine-cs (>= 1.13.0) | docker-engine (>= 1.13.0) | docker-io (>= 1.13.0) | docker.io (>= 1.13.0) | docker-ce (>= 1.13.0) | docker-ee (>= 1.13.0) | moby-engine' \ - --deb-pre-depends sudo \ - --after-install /tmp/tmp/post-install \ - --url "https://github.com/$(HEROKUISH_REPO_NAME)" \ - --description $(HEROKUISH_DESCRIPTION) \ - --license 'MIT License' \ - . - deb-dokku: /tmp/build-dokku/var/lib/dokku/GIT_REV rm -f $(BUILD_DIRECTORY)/dokku_*_$(DOKKU_ARCHITECTURE).deb diff --git a/rpm.mk b/rpm.mk index cfecd0ce1..15fe18a04 100644 --- a/rpm.mk +++ b/rpm.mk @@ -1,12 +1,11 @@ RPM_ARCHITECTURE = x86_64 DOKKU_RPM_PACKAGE_NAME = dokku-$(DOKKU_VERSION)-1.$(RPM_ARCHITECTURE).rpm DOKKU_UPDATE_RPM_PACKAGE_NAME = dokku-update-$(DOKKU_UPDATE_VERSION)-1.$(RPM_ARCHITECTURE).rpm -HEROKUISH_RPM_PACKAGE_NAME = herokuish-$(HEROKUISH_VERSION)-1.$(RPM_ARCHITECTURE).rpm SIGIL_RPM_PACKAGE_NAME = gliderlabs-sigil-$(SIGIL_VERSION)-1.$(RPM_ARCHITECTURE).rpm .PHONY: rpm-all -rpm-all: rpm-setup rpm-herokuish rpm-dokku rpm-sigil rpm-dokku-update +rpm-all: rpm-setup rpm-dokku rpm-sigil rpm-dokku-update mv /tmp/*.rpm . @echo "Done" @@ -17,34 +16,6 @@ rpm-setup: @command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc @ssh -o StrictHostKeyChecking=no git@github.com || true -rpm-herokuish: - rm -rf /tmp/tmp /tmp/build $(BUILD_DIRECTORY)/$(HEROKUISH_RPM_PACKAGE_NAME) - mkdir -p /tmp/tmp /tmp/build - - @echo "-> Creating rpm files" - @echo "#!/usr/bin/env bash" >> /tmp/tmp/post-install - @echo 'echo "Starting docker"' >> /tmp/tmp/post-install - @echo 'systemctl start docker' >> /tmp/tmp/post-install - @echo "sleep 5" >> /tmp/tmp/post-install - @echo "echo 'Importing herokuish into docker (around 5 minutes)'" >> /tmp/tmp/post-install - @echo 'if [[ -n $${http_proxy+x} ]]; then echo "See the docker pull docs for proxy configuration"; fi' >> /tmp/tmp/post-install - @echo 'if [[ -n $${https_proxy+x} ]]; then echo "See the docker pull docs for proxy configuration"; fi' >> /tmp/tmp/post-install - @echo 'if [[ -n $${BUILDARGS+x} ]]; then echo "See the docker pull docs for proxy configuration"; fi' >> /tmp/tmp/post-install - @echo "sudo docker pull gliderlabs/herokuish:v${HEROKUISH_VERSION} && sudo docker tag gliderlabs/herokuish:v${HEROKUISH_VERSION} gliderlabs/herokuish:latest" >> /tmp/tmp/post-install - - @echo "-> Creating $(HEROKUISH_RPM_PACKAGE_NAME)" - sudo fpm -t rpm -s dir -C /tmp/build -n herokuish \ - --version $(HEROKUISH_VERSION) \ - --architecture $(RPM_ARCHITECTURE) \ - --package $(BUILD_DIRECTORY)/$(HEROKUISH_RPM_PACKAGE_NAME) \ - --depends '/usr/bin/docker' \ - --depends 'sudo' \ - --after-install /tmp/tmp/post-install \ - --url "https://github.com/$(HEROKUISH_REPO_NAME)" \ - --description $(HEROKUISH_DESCRIPTION) \ - --license 'MIT License' \ - . - rpm-dokku: /tmp/build-dokku/var/lib/dokku/GIT_REV rm -f $(BUILD_DIRECTORY)/dokku_*_$(RPM_ARCHITECTURE).rpm diff --git a/tests/ci/setup.sh b/tests/ci/setup.sh index 0e60278c4..9a2633f5a 100755 --- a/tests/ci/setup.sh +++ b/tests/ci/setup.sh @@ -7,7 +7,7 @@ install_dependencies() { echo "=====> install_dependencies on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" mkdir -p "$ROOT_DIR/build/" - HEROKUISH_VERSION=$(grep HEROKUISH_VERSION "${ROOT_DIR}/deb.mk" | head -n1 | cut -d' ' -f3) + HEROKUISH_VERSION=$(grep HEROKUISH_VERSION "${ROOT_DIR}/Makefile" | head -n1 | cut -d' ' -f3) HEROKUISH_PACKAGE_NAME="herokuish_${HEROKUISH_VERSION}_amd64.deb" curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/herokuish_${HEROKUISH_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${HEROKUISH_PACKAGE_NAME}"