Add multiarch-build-small target to shrink release builds

This commit is contained in:
Ettore Di Giacinto
2021-01-22 18:51:25 +01:00
parent c7e5c9b1fd
commit 3bbc2c4691
3 changed files with 18 additions and 4 deletions

View File

@@ -15,10 +15,17 @@ jobs:
uses: docker-practice/actions-setup-docker@0.0.1
- name: Login to quay
run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io
- name: Install deps
run: sudo apt-get install -y upx
- name: Tests
run: sudo -E env "PATH=$PATH" env "TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" env "UNIT_TEST_DOCKER_IMAGE=$TEST_DOCKER_IMAGE" make deps multiarch-build test-integration test-coverage
run: |
sudo -E \
env "PATH=$PATH" \
env "TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \
env "UNIT_TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \
make deps multiarch-build-small test-integration test-coverage
- name: Build
run: sudo -E env "PATH=$PATH" make multiarch-build && sudo chmod -R 777 release/
run: sudo -E env "PATH=$PATH" make multiarch-build-small && sudo chmod -R 777 release/
- name: Release
uses: fnkr/github-action-ghr@v1
if: startsWith(github.ref, 'refs/tags/')

View File

@@ -17,5 +17,7 @@ jobs:
uses: actions/checkout@v2
- name: setup-docker
uses: docker-practice/actions-setup-docker@0.0.1
- name: Install deps
run: sudo apt-get install -y upx
- name: Tests
run: sudo -E env "PATH=$PATH" make deps multiarch-build test-integration test-coverage
run: sudo -E env "PATH=$PATH" make deps multiarch-build-small test-integration test-coverage

View File

@@ -88,6 +88,11 @@ test-docker:
--workdir /go/src/github.com/mudler/luet -ti golang:latest \
bash -c "make test"
.PHONY: multiarch-build
multiarch-build:
CGO_ENABLED=0 gox $(BUILD_PLATFORMS) -ldflags '$(LDFLAGS)' -output="release/$(NAME)-$(VERSION)-{{.OS}}-{{.Arch}}"
multiarch-build-small:
@$(MAKE) LDFLAGS+="-s -w" multiarch-build
for file in $(ROOT_DIR)/release/* ; do \
upx --brute -1 $${file} ; \
done