Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker images for ARM32v7 and ARM64v8; Add -Wno-stringop-overflow; #6

Merged
merged 1 commit into from
May 17, 2019

Conversation

brezerk
Copy link
Contributor

@brezerk brezerk commented May 12, 2019

Addresses: #5 and #4

  • Refactored build system (added Makefile);
  • Refactored Dockerfile;
  • Fixed build with GCC 8.3;

In order to adopt this changes you will have to:

  1. Register circleci.com account and configure project (it should pick up the .circleci/config.yml i have created for you)
  2. Add following env variables:
  • DOCKER_REGISTRY
  • DOCKER_REGISTRY_PASSWORD
  • DOCKER_REGISTRY_USER
  1. Create additional repositories (for staging images, final manifests will be landed into pyinstaller-alpine):
  • pyinstaller-alpine-linux-armv7
  • pyinstaller-alpine-linux-arm64
  • pyinstaller-alpine-linux-amd64

Note 1: Current CI\CD configuration will build and push images for each change in develop branch. Any other branch will trigger build-only (this might be useful to test pull requests and ongoing development)

Note 2: quay.io is not supporting docker manifest.v2 yet (in case if you was planning to use quay.io instead of docker.hub in future)

Repo structure example: https://hub.docker.com/u/brezerk
Build example: https://circleci.com/gh/brezerk/pyinstaller-alpine/52

Let me know if you need any help.

Resulting image:

[ himera ] brezerk@pts/0:243  ~/develop/pyinstaller-alpine $
 05/12/19 20:27:48 EEST > docker run --rm weshigbee/manifest-tool inspect brezerk/pyinstaller-alpine:latest                                         
Name:   brezerk/pyinstaller-alpine:latest (Type: application/vnd.docker.distribution.manifest.list.v2+json)
Digest: sha256:d016cb769e62a7ec4586f4bfb0ac3a6ab005c9d85efd6b5a8b2c3f3865800bac
 * Contains 3 manifest references:
1    Mfst Type: application/vnd.docker.distribution.manifest.v2+json
1       Digest: sha256:27864aae412414389e5971074432c7300f235da0471119dc4291aefb2c1350e3
1  Mfst Length: 2622
1     Platform:
1           -      OS: linux
1           -    Arch: amd64
1           - Variant: 
1           - Feature: 
1     # Layers: 11
         layer 1: digest = sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10
         layer 2: digest = sha256:799a5534f213d4fa33305a25e1987f38be3dc015267400efab141fb1ee9071e0
         layer 3: digest = sha256:913b50bbe755394b4d4bb87d1e2fee5bb63dc41a1059a59e4f98c13446ff3e58
         layer 4: digest = sha256:11154abc60811ff7350dfd0101213f864a1fbd34c85b60a5b7a951417d380cb2
         layer 5: digest = sha256:c805e63f69fecabe254d2c108a81fcd5bb8557c8e6bbcb8f3c6a99157b36a7dd
         layer 6: digest = sha256:4ee8c38955ff2fbf485aedb8aa367654029c106e3ed721753b11773844bee507
         layer 7: digest = sha256:ec2e27442b4b6df074e314eeccd4460a8e24a969e5414440d71f511a84a81693
         layer 8: digest = sha256:a8b084532cf87ce3491f6dd59ef5b59e5ab2a55c6c4c846275a13e9b5adc955c
         layer 9: digest = sha256:d75c7c1db231f318f94dc93e9768ba1c91875cf8617d43bf7a9dcd15cc7313f9
         layer 10: digest = sha256:0d607080217e9270c426932b8b87361a6329096c59216d85b9c340e16806220c
         layer 11: digest = sha256:a0bb9129c29fe693249b37e6337815d188ad1996625ea0d1efde5841e3a850b2

2    Mfst Type: application/vnd.docker.distribution.manifest.v2+json
2       Digest: sha256:1ff7425a6a820016a0d96710b2d0a729019077b8abc462a72087a8dc325a1346
2  Mfst Length: 2622
2     Platform:
2           -      OS: linux
2           -    Arch: arm64
2           - Variant: 
2           - Feature: 
2     # Layers: 11
         layer 1: digest = sha256:0362ad1dd800a9d92f8982fa28f173f9120266153830f990f7486f44b068968a
         layer 2: digest = sha256:a36acd288eb3d786a9aac76c818d76aa74f8ad9ff45d1fbd8f4f28f4b46a127f
         layer 3: digest = sha256:e812fe2329f82e1caa97a78d91490e5d8dc1e46e97fb2dcedc6fbd5a0b1ebf26
         layer 4: digest = sha256:bb529435b07540af4ab6479383fa0cdd8d26985a8e18edb2458d843511f4207d
         layer 5: digest = sha256:bf9cbf05fd771ae07fc8e03431ca10ba6a83d9ace4cbe61610896be14fc7d7c9
         layer 6: digest = sha256:36e47e4145b50f5f94a3406ac3df3ab5b54716a87f7508a7442b194ce46cf8df
         layer 7: digest = sha256:c92e5b6cb62fb6945a4bb5b28795c875ad622262a82352f2e14df83b660997ee
         layer 8: digest = sha256:9952c515cbf55fc12b8dae330e03038e66b0da6f18c15ecb2c5e731e29845e90
         layer 9: digest = sha256:eac6584374189169b161c85d235079fdfeeaa13ebba410d57f5f8ef871e30580
         layer 10: digest = sha256:85cd7e2a17c55586be6e6aec900921b2018dff0e61783a41ebfd7ffac8126058
         layer 11: digest = sha256:814635b3f359e06220e34d8d1508ce915e8e2154205ac0550083e874554c6d28

3    Mfst Type: application/vnd.docker.distribution.manifest.v2+json
3       Digest: sha256:93dd38bc5963dda8c5e6d2b4ac2dea5938ec45bdf990c13583918658d29eed36
3  Mfst Length: 2622
3     Platform:
3           -      OS: linux
3           -    Arch: arm
3           - Variant: 
3           - Feature: 
3     # Layers: 11
         layer 1: digest = sha256:856f4240f8dba160c5323506c1e9a4dbaaca840bf1b0c244af3b8d1b42b0f43b
         layer 2: digest = sha256:dd44f171dea9d0d9d60e99f876258731e53fb44d78125b4b1fa9e292d2ff8d26
         layer 3: digest = sha256:819e3cf90f7cf439b36aa09620b37507045da0fc5915194a136a683d15f2fc50
         layer 4: digest = sha256:776653304d098d1fd3f8333024802beed2cef36aab7bcbce08ed09ec92879864
         layer 5: digest = sha256:5e10600a2846f292a12155015f4c3a9d70be046c446282b6ee5dd4f5140b6298
         layer 6: digest = sha256:bda1885bbb8f4eaf293d71f319315189df7a0739fb8d946172be28d12073f0af
         layer 7: digest = sha256:301239e5d0557f582c141c26bae5545a60ac139c1c67a51bcc2f49a5eb2bb870
         layer 8: digest = sha256:ae3b269719245ef276700c4f065a54946d0b282946e726cd5feeaea4b304a24f
         layer 9: digest = sha256:5d39b69007cc5bba5cbd8ccf43bae2dffeedc32739e2fb9dbf26ecc1bf7d71fe
         layer 10: digest = sha256:d4df86b9c3df01111b1b2daf0ed895f92567731c387a9e9c04a298bc898ab4a1
         layer 11: digest = sha256:eefc1261a7094575f028ec13456d1ab3a0ce86e02ce2c79e5f077ce088df8da7

Copy link
Owner

@six8 six8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGMT 🌮

@six8 six8 merged commit bbbd822 into six8:develop May 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants