Skip to content

Commit

Permalink
Merge pull request #3 from fi-ts/staticx
Browse files Browse the repository at this point in the history
Introduce staticx for fully static binaries and add release drafter.
  • Loading branch information
Gerrit91 authored Aug 7, 2020
2 parents fe522a3 + 967f2e5 commit 79569df
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 71 deletions.
30 changes: 30 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'

template: |
## General Changes
$CHANGES
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'

version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
18 changes: 5 additions & 13 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,13 @@ jobs:
python setup.py nosetests
- name: Build Linux
run: |
python -m pip install pyinstaller setuptools --upgrade
python -m pip freeze
python setup.py sdist
python setup.py bdist_rpm --release ${TAG_NAME}
pyinstaller docker-make.spec
./dist/docker-make -v
docker build -f ci-build/Dockerfile . -t metalstack/docker-make:latest
md5sum ./dist/docker-make > dist/docker-make.md5
- name: Build Alpine Linux
run: |
docker build -f ci-build/Dockerfile.alpine . -t metalstack/docker-make:alpine
docker cp $(docker create $(docker image ls --format '{{ .ID }}' | sed -n 1p)):/docker-make dist/docker-make-musl
md5sum dist/docker-make-musl > dist/docker-make-musl.md5
docker cp $(docker create $(docker image ls --format '{{ .ID }}' | sed -n 1p)):/docker-make docker-make
md5sum docker-make > docker-make.md5
- name: Publish Dockerfiles
run: |
docker login -u ${{ secrets.DOCKER_HUB_USER }} -p ${{ secrets.DOCKER_HUB_TOKEN }}
docker push metalstack/docker-make:latest
docker push metalstack/docker-make:alpine
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 2 additions & 12 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,10 @@ jobs:
python setup.py nosetests
- name: Build Linux
run: |
python -m pip install pyinstaller setuptools --upgrade
python -m pip freeze
python setup.py sdist
pyinstaller docker-make.spec
./dist/docker-make -v
docker build -f ci-build/Dockerfile . -t metalstack/docker-make:pr-${TAG_NAME}
md5sum ./dist/docker-make > dist/docker-make.md5
- name: Build Alpine Linux
run: |
docker build -f ci-build/Dockerfile.alpine . -t metalstack/docker-make:pr-${TAG_NAME}-alpine
docker cp $(docker create $(docker image ls --format '{{ .ID }}' | sed -n 1p)):/docker-make dist/docker-make-musl
md5sum dist/docker-make-musl > dist/docker-make-musl.md5
docker cp $(docker create $(docker image ls --format '{{ .ID }}' | sed -n 1p)):/docker-make docker-make
md5sum docker-make > docker-make.md5
- name: Publish Dockerfiles
run: |
docker login -u ${{ secrets.DOCKER_HUB_USER }} -p ${{ secrets.DOCKER_HUB_TOKEN }}
docker push metalstack/docker-make:pr-${TAG_NAME}
docker push metalstack/docker-make:pr-${TAG_NAME}-alpine
36 changes: 4 additions & 32 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,13 @@ jobs:
python setup.py nosetests
- name: Build Linux
run: |
python -m pip install pyinstaller setuptools --upgrade
python -m pip freeze
python setup.py sdist
pyinstaller docker-make.spec
./dist/docker-make -v
docker build -f ci-build/Dockerfile . -t metalstack/docker-make:${TAG_NAME}
md5sum ./dist/docker-make > dist/docker-make.md5
- name: Build Alpine Linux
run: |
docker build -f ci-build/Dockerfile.alpine . -t metalstack/docker-make:${TAG_NAME}-alpine
docker cp $(docker create $(docker image ls --format '{{ .ID }}' | sed -n 1p)):/docker-make dist/docker-make-musl
md5sum dist/docker-make-musl > dist/docker-make-musl.md5
docker cp $(docker create $(docker image ls --format '{{ .ID }}' | sed -n 1p)):/docker-make docker-make
md5sum docker-make > docker-make.md5
- name: Publish Dockerfiles
run: |
docker login -u ${{ secrets.DOCKER_HUB_USER }} -p ${{ secrets.DOCKER_HUB_TOKEN }}
docker push metalstack/docker-make:${TAG_NAME}
docker push metalstack/docker-make:${TAG_NAME}-alpine
- name: Create Release
id: create_release
uses: actions/[email protected]
Expand All @@ -61,7 +51,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/docker-make
asset_path: docker-make
asset_name: docker-make-linux-amd64
asset_content_type: application/octet-stream
- name: Upload Release Asset
Expand All @@ -70,24 +60,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/docker-make.md5
asset_path: docker-make.md5
asset_name: docker-make-linux-amd64.md5
asset_content_type: application/octet-stream
- name: Upload Release Asset
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/docker-make-musl
asset_name: docker-make-linux-musl-amd64
asset_content_type: application/octet-stream
- name: Upload Release Asset
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/docker-make-musl.md5
asset_name: docker-make-linux-musl-amd64.md5
asset_content_type: application/octet-stream
16 changes: 14 additions & 2 deletions ci-build/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
FROM ubuntu
COPY dist/docker-make /docker-make
FROM ubuntu as builder
ENV BOOTLOADER_CC=musl-gcc
RUN apt update && apt install -y busybox musl musl-dev musl-tools liblzma-dev scons patchelf python3-pip
WORKDIR /app
COPY . .
RUN python3 -m pip install staticx pyinstaller .
RUN pyinstaller -F docker-make.spec \
&& staticx /app/dist/docker-make /app/dist/docker-make-static \
&& /app/dist/docker-make-static -v

FROM docker
RUN apk update \
&& apk add git
COPY --from=builder /app/dist/docker-make-static /docker-make
ENTRYPOINT ["/docker-make"]
12 changes: 0 additions & 12 deletions ci-build/Dockerfile.alpine

This file was deleted.

0 comments on commit 79569df

Please sign in to comment.