diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2019-11-24 13:35:09 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-11-28 11:12:59 -0800 |
commit | 8c641402207dcee2f17de6f18c463a40b6434847 (patch) | |
tree | 9bc8bbe2256b3dceea0a9706ebce0beec5e2718e /scripts/docker/mxe-build-container/Dockerfile | |
parent | 311eb9a2e3e4959eb53a2a7bcebd46aaa03e8829 (diff) | |
download | subsurface-8c641402207dcee2f17de6f18c463a40b6434847.tar.gz |
GitHub Actions: add two stage MXE container build
Based on ideas from Anton - both the basic building of containers in the first
place as well as the workaround for the 6h build limit.
Because GitHub Actions are limited to 6 hours we split the creation of the MXE
container into two steps and push the intermediary container after stage 1 to
docker hub. Right now each of the steps takes about 3.5 hours, so hopefully
even with changes in the future this will continue to work.
This commit also introduces use of docker hub instead of GitHub's own registry
(since strangely right now GitHub actions cannot run containers from GitHub's
private registry).
In order for this to work, we need to have the docker credentials in secrets in
GitHub. As a result, only people who can create branches in our repository can
easily test changes to the container images. Others can modify the code to use
a different docker hub account and provide those secrets in their own GitHub
account. Not ideal, but of course we cannot allow every pull request to
potentially overwrite docker images in our "official" docker hub account.
Suggested-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'scripts/docker/mxe-build-container/Dockerfile')
-rw-r--r-- | scripts/docker/mxe-build-container/Dockerfile | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/scripts/docker/mxe-build-container/Dockerfile b/scripts/docker/mxe-build-container/Dockerfile deleted file mode 100644 index b9def62bc..000000000 --- a/scripts/docker/mxe-build-container/Dockerfile +++ /dev/null @@ -1,60 +0,0 @@ -# Build the image using the --build-arg option, e.g.: -# docker build -t boret/myimage:0.1 --build-arg=mxe_sha=123ABC456 . -# - -From ubuntu:18.04 -ARG mxe_sha=master -ENV _ver=${mxe_sha} -RUN mkdir -p /win -ADD settings.mk /win -RUN apt-get update && apt-get upgrade -y -RUN apt-get install -y \ - autoconf \ - automake \ - autopoint \ - bash \ - binutils \ - bison \ - bzip2 \ - flex \ - g++ \ - g++-multilib \ - gettext \ - git \ - gperf \ - intltool \ - libc6-dev-i386 \ - libgdk-pixbuf2.0-dev \ - libltdl-dev \ - libssl-dev \ - libtool-bin \ - libxml-parser-perl \ - make \ - openssl \ - p7zip-full \ - patch \ - perl \ - pkg-config \ - python \ - ruby \ - sed \ - unzip \ - wget \ - xz-utils \ - lzip \ - scons -RUN cd /win ; git clone git://github.com/mxe/mxe ; \ - cd mxe ; \ - git checkout ${_ver} ; -RUN mv /win/settings.mk /win/mxe -RUN cd /win/mxe ; \ - make -j 6 2>&1 | tee build.log ; -RUN cd /win/mxe ; \ - make MXE_TARGETS=i686-w64-mingw32.static glib -j 6 2>&1 | tee -a build.log ; -RUN cd /win/mxe ; \ - mkdir -p neolit ; cd neolit ; git clone -b wip/win git://github.com/qt/qtconnectivity -RUN cd /win/mxe/neolit/qtconnectivity ; \ - PATH=/win/mxe/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /win/mxe/usr/i686-w64-mingw32.shared/qt5/bin/qmake qtconnectivity.pro ; \ - PATH=/win/mxe/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j 6 ; \ - PATH=/win/mxe/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make install ; -RUN rm -rf /win/mxe/pkg |