diff --git a/.circleci/config.yml b/.circleci/config.yml index 60882f95..239ed80b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,14 +44,6 @@ workflows: ignore: /.*/ tags: only: /^v[0-9]+(\.[0-9]+)*$/ - - compile-armhf: - requires: - - deps - filters: - branches: - ignore: /.*/ - tags: - only: /^v[0-9]+(\.[0-9]+)*$/ - compile-arm64: requires: - deps @@ -69,15 +61,6 @@ workflows: ignore: /.*/ tags: only: /^v[0-9]+(\.[0-9]+)*$/ - - package-debian-armhf: - requires: - - compile-armhf - - versions - filters: - branches: - ignore: /.*/ - tags: - only: /^v[0-9]+(\.[0-9]+)*$/ - package-debian-arm64: requires: - compile-arm64 @@ -91,7 +74,6 @@ workflows: requires: - unit-test - package-debian-amd64 - - package-debian-armhf - package-debian-arm64 filters: branches: @@ -128,9 +110,6 @@ workflows: - compile-amd64: requires: - deps - - compile-armhf: - requires: - - deps - compile-arm64: requires: - deps @@ -138,10 +117,6 @@ workflows: requires: - compile-amd64 - versions - - package-debian-armhf: - requires: - - compile-armhf - - versions - package-debian-arm64: requires: - compile-arm64 @@ -150,7 +125,6 @@ workflows: requires: - unit-test - package-debian-amd64 - - package-debian-armhf - package-debian-arm64 - blackbox-test-amd64: requires: @@ -322,37 +296,6 @@ jobs: # -------------------------------------------------------------------------- # - compile-armhf: - executor: go - working_directory: /mnt/ramdisk - steps: - - restore_cache: - key: code-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: dependencies-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - run: - name: Compile bondster-bco-import binary - command: | - /mnt/ramdisk/dev/lifecycle/package \ - --arch linux/armhf \ - --source /mnt/ramdisk/services/bondster-bco-import \ - --output /mnt/ramdisk/packaging/bin - no_output_timeout: 5m - - run: - name: Compile bondster-bco-rest binary - command: | - /mnt/ramdisk/dev/lifecycle/package \ - --arch linux/armhf \ - --source /mnt/ramdisk/services/bondster-bco-rest \ - --output /mnt/ramdisk/packaging/bin - no_output_timeout: 5m - - save_cache: - key: binaries-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - paths: - - /mnt/ramdisk/packaging/bin - - # -------------------------------------------------------------------------- # - compile-arm64: executor: go working_directory: /home/circleci/project @@ -411,33 +354,6 @@ jobs: # -------------------------------------------------------------------------- # - package-debian-armhf: - executor: debian - working_directory: /mnt/ramdisk - steps: - - restore_cache: - key: code-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: binaries-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: versions-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - run: - name: Package for debian - command: | - VERSION=$(cat /mnt/ramdisk/VERSION) - /mnt/ramdisk/dev/lifecycle/debian \ - --arch armhf \ - --pkg bondster-bco \ - --version ${VERSION} \ - --source /mnt/ramdisk/packaging - no_output_timeout: 5m - - save_cache: - key: debian-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - paths: - - /mnt/ramdisk/packaging/bin - - # -------------------------------------------------------------------------- # - package-debian-arm64: executor: debian working_directory: /mnt/ramdisk @@ -474,14 +390,10 @@ jobs: key: code-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: binaries-amd64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: binaries-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: binaries-arm64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: debian-amd64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: debian-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: debian-arm64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: @@ -552,6 +464,7 @@ jobs: command: | export VERSION=v$(cat /home/circleci/project/VERSION) export META=$(cat /home/circleci/project/META) + export ARCH=amd64 docker-compose up -d bbtest docker exec -t $(docker-compose ps -q bbtest) python3 /opt/app/bbtest/main.py @@ -573,14 +486,10 @@ jobs: key: code-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: binaries-amd64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: binaries-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: binaries-arm64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: debian-amd64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - - restore_cache: - key: debian-armhf-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: key: debian-arm64-{{ .Environment.CIRCLE_TAG }}-{{ .Environment.CIRCLE_PROJECT_REPONAME }}-{{ .Environment.CIRCLE_SHA1 }} - deploy: diff --git a/.jenkins/commit.groovy b/.jenkins/commit.groovy index 5ca7bde9..9e36141b 100644 --- a/.jenkins/commit.groovy +++ b/.jenkins/commit.groovy @@ -244,7 +244,6 @@ pipeline { options = """ |-e IMAGE_VERSION=${env.VERSION} |-e UNIT_VERSION=${env.VERSION} - |-e UNIT_ARCH=${env.ARCH} |--volumes-from=${cid} |-v /var/run/docker.sock:/var/run/docker.sock:rw |-v /var/lib/docker/containers:/var/lib/docker/containers:rw diff --git a/Makefile b/Makefile index 40e9b572..4df1600b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ META := $(shell git rev-parse --abbrev-ref HEAD 2> /dev/null | sed 's:.*/::') VERSION := $(shell git fetch --tags --force 2> /dev/null; tags=($$(git tag --sort=-v:refname)) && ([ $${\#tags[@]} -eq 0 ] && echo v0.0.0 || echo $${tags[0]})) +ARCH := $(shell uname -m | sed 's/x86_64/amd64/') export COMPOSE_DOCKER_CLI_BUILD = 1 export DOCKER_BUILDKIT = 1 @@ -9,14 +10,13 @@ export COMPOSE_PROJECT_NAME = bondster-bco .ONESHELL: .PHONY: arm64 .PHONY: amd64 -.PHONY: armhf .PHONY: all all: bootstrap sync test package bbtest .PHONY: package package: - @$(MAKE) package-amd64 + @$(MAKE) package-$(ARCH) @$(MAKE) bundle-docker .PHONY: package-% @@ -26,13 +26,13 @@ package-%: % .PHONY: bundle-binaries-% bundle-binaries-%: % - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm package \ --arch linux/$^ \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-rest \ --output /project/packaging/bin - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm package \ --arch linux/$^ \ @@ -41,7 +41,7 @@ bundle-binaries-%: % .PHONY: bundle-debian-% bundle-debian-%: % - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm debian-package \ --version $(VERSION) \ @@ -58,16 +58,16 @@ bundle-docker: .PHONY: bootstrap bootstrap: - @docker-compose build --force-rm go + @ARCH=$(ARCH) docker-compose build --force-rm go .PHONY: lint lint: - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm lint \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-rest \ || : - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm lint \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-import \ @@ -75,12 +75,12 @@ lint: .PHONY: sec sec: - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm sec \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-rest \ || : - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm sec \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-import \ @@ -88,11 +88,11 @@ sec: .PHONY: sync sync: - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm sync \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-rest - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm sync \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-import @@ -106,12 +106,12 @@ scan: .PHONY: test test: - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm test \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-rest \ --output /project/reports/unit-tests - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm test \ --source /go/src/github.com/jancajthaml-openbank/bondster-bco-import \ @@ -119,7 +119,7 @@ test: .PHONY: release release: - @docker-compose \ + @ARCH=$(ARCH) docker-compose \ run \ --rm release \ --version $(VERSION) \ @@ -127,6 +127,6 @@ release: .PHONY: bbtest bbtest: - @META=$(META) VERSION=$(VERSION) docker-compose up -d bbtest - @docker exec -t $$(docker-compose ps -q bbtest) python3 /opt/app/bbtest/main.py - @docker-compose down -v + @ARCH=$(ARCH) META=$(META) VERSION=$(VERSION) docker-compose up -d bbtest + @docker exec -t $$(ARCH=$(ARCH) docker-compose ps -q bbtest) python3 /opt/app/bbtest/main.py + @ARCH=$(ARCH) docker-compose down -v diff --git a/bbtest/helpers/unit.py b/bbtest/helpers/unit.py index 4c973c7a..3fc6e966 100644 --- a/bbtest/helpers/unit.py +++ b/bbtest/helpers/unit.py @@ -33,8 +33,8 @@ def default_config(): def get_arch(self): return { 'x86_64': 'amd64', - 'armv7l': 'armhf', - 'armv8': 'arm64' + 'armv8': 'arm64', + 'aarch64': 'arm64' }.get(platform.uname().machine, 'amd64') def __init__(self, context): diff --git a/dev/lifecycle/debian b/dev/lifecycle/debian index 36b0819d..6bce9ed9 100755 --- a/dev/lifecycle/debian +++ b/dev/lifecycle/debian @@ -100,7 +100,6 @@ lifecycle::debian::package() { echo "[info] (${TARGET_PACKAGE}_${TARGET_ARCHITECTURE}) running dpkg-buildpackage" local CC=gcc case ${TARGET_ARCHITECTURE} in - armhf) CC=arm-linux-gnueabihf-gcc ;; arm64) CC=aarch64-linux-gnu-gcc ;; *) CC=gcc ;; esac diff --git a/dev/lifecycle/package b/dev/lifecycle/package index 65d2fdaf..f9dafd8d 100755 --- a/dev/lifecycle/package +++ b/dev/lifecycle/package @@ -63,26 +63,8 @@ lifecycle::go::build() { return fi - - case ${ARCH} in - armhf) - cd ${source} && \ - \ - GOOS=${PLATFORM} \ - GOARM=7 \ - GOARCH=arm \ - CGO_ENABLED=1 \ - GOFLAGS=-buildmode=pie \ - CC=arm-linux-gnueabihf-gcc \ - \ - go build -a -o ${output} || { - (>&2 echo "[error] ${output} unable to build") - exit 1 - } - ;; - arm64) cd ${source} && \ \ @@ -133,10 +115,6 @@ lifecycle::go::strip() { case ${ARCH} in - armhf) - arm-linux-gnueabihf-objcopy --strip-unneeded ${output} - ;; - arm64) aarch64-linux-gnu-objcopy --strip-unneeded ${output} ;; diff --git a/docker-compose.yml b/docker-compose.yml index a264876f..a1f3ba3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,9 +10,9 @@ services: image: jancajthaml/go tty: true volumes: - - .:/project - - ./services/bondster-bco-import:/go/src/github.com/jancajthaml-openbank/bondster-bco-import - - ./services/bondster-bco-rest:/go/src/github.com/jancajthaml-openbank/bondster-bco-rest + - .:/project:delegated + - ./services/bondster-bco-import:/go/src/github.com/jancajthaml-openbank/bondster-bco-import:delegated + - ./services/bondster-bco-rest:/go/src/github.com/jancajthaml-openbank/bondster-bco-rest:delegated working_dir: /project environment: - GOOS @@ -26,7 +26,7 @@ services: image: jancajthaml/debian-packager tty: true volumes: - - .:/project + - .:/project:delegated working_dir: /project # -------------------------------------------------------------------------- # @@ -88,11 +88,10 @@ services: # -------------------------------------------------------------------------- # bbtest: - image: jancajthaml/bbtest:amd64 + image: jancajthaml/bbtest:${ARCH} environment: IMAGE_VERSION: ${VERSION:-latest}-${META:-main} UNIT_VERSION: ${VERSION:-latest} - UNIT_ARCH: amd64 CI: ${CI:-false} volumes: - /var/run/docker.sock:/var/run/docker.sock:rw diff --git a/packaging/debian/bondster-bco.install.armhf b/packaging/debian/bondster-bco.install.armhf deleted file mode 100644 index 0cdae1d7..00000000 --- a/packaging/debian/bondster-bco.install.armhf +++ /dev/null @@ -1,3 +0,0 @@ -bin/bondster-bco-rest-linux-armhf usr/bin -bin/bondster-bco-import-linux-armhf usr/bin -init.conf etc/bondster-bco/conf.d