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

Github actions #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/build-push-to-docker-hub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- "master"
- "release/*"

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- uses: azure/docker-login@v1
with:
username: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}

- name: Build images
run: |
./build.sh

- name: Push images
run: |
./push.sh
24 changes: 24 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- "develop"
pull_request:
branches:
- "*"

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Build images
run: |
./build.sh
2 changes: 1 addition & 1 deletion Dockerfile-py2-precise-amd64
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:12.04
FROM ubuntu:precise
SHELL ["/bin/bash", "-i", "-c"]

ARG PYTHON_VERSION=2.7.17
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile-py2-trusty-win32
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM ubuntu:14.04
FROM ubuntu:trusty

ENV DEBIAN_FRONTEND noninteractive

ARG WINE_VERSION=winehq-devel
ARG WINE_VERSION=devel
ARG PYTHON_VERSION=2.7.12
ARG PYINSTALLER_VERSION=3.6

Expand All @@ -13,7 +13,7 @@ RUN set -x \
&& apt-get install --no-install-recommends -qfy software-properties-common \
&& add-apt-repository ppa:wine/wine-builds \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy $WINE_VERSION winetricks wget \
&& apt-get install --no-install-recommends -qfy winehq-$WINE_VERSION winetricks wget \
&& apt-get clean

# wine settings
Expand Down
56 changes: 56 additions & 0 deletions Dockerfile-py3-bionic-amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
FROM ubuntu:bionic
SHELL ["/bin/bash", "-i", "-c"]

ARG PYTHON_VERSION=3.7.9
ARG PYINSTALLER_VERSION=4.0

ENV PYPI_URL=https://pypi.python.org/
ENV PYPI_INDEX_URL=https://pypi.python.org/simple
ENV PYENV_VERSION=${PYTHON_VERSION}

COPY entrypoint-linux.sh /entrypoint.sh

RUN \
set -x \
# update system
&& apt-get update \
# install requirements
&& apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
curl \
wget \
git \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
zlib1g-dev \
libffi-dev \
#optional libraries
libgdbm-dev \
libgdbm5 \
uuid-dev \
#upx
upx \
libssl-dev \
# install pyenv
&& echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc \
&& echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc \
&& source ~/.bashrc \
&& curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash \
&& echo 'eval "$(pyenv init -)"' >> ~/.bashrc \
&& source ~/.bashrc \
# install python
&& CONFIGURE_OPTS=--enable-shared pyenv install $PYTHON_VERSION \
&& pyenv global $PYTHON_VERSION \
&& pip install --upgrade pip \
# install pyinstaller
&& pip install pyinstaller==$PYINSTALLER_VERSION \
&& mkdir /src/ \
&& chmod +x /entrypoint.sh

VOLUME /src/
WORKDIR /src/

ENTRYPOINT ["/entrypoint.sh"]
87 changes: 87 additions & 0 deletions Dockerfile-py3-bionic-win32
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
FROM ubuntu:bionic

ENV DEBIAN_FRONTEND noninteractive

ARG WINE_VERSION=stable
ARG PYTHON_VERSION=3.7.9
ARG PYINSTALLER_VERSION=4.0

# we need wine for this all to work, so we'll use the PPA
RUN set -x \
&& dpkg --add-architecture i386 \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy apt-transport-https software-properties-common wget gpg-agent rename \
&& wget -nv https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key \
&& apt-key add Release.key \
&& apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/ ./' \
&& wget -nv https://dl.winehq.org/wine-builds/winehq.key \
&& apt-key add winehq.key \
&& add-apt-repository 'https://dl.winehq.org/wine-builds/ubuntu/' \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy winehq-$WINE_VERSION winbind cabextract \
&& apt-get clean \
&& wget -nv https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
&& chmod +x winetricks \
&& mv winetricks /usr/local/bin

# wine settings
ENV WINEARCH win32
ENV WINEDEBUG fixme-all
ENV WINEPREFIX /wine

# PYPI repository location
ENV PYPI_URL=https://pypi.python.org/
# PYPI index location
ENV PYPI_INDEX_URL=https://pypi.python.org/simple

# install python in wine, using the msi packages to install, extracting
# the files directly, since installing isn't running correctly.
RUN set -x \
&& winetricks win7 \
&& for msifile in `echo core dev exe lib path pip tcltk tools`; do \
wget -nv "https://www.python.org/ftp/python/$PYTHON_VERSION/win32/${msifile}.msi"; \
wine msiexec /i "${msifile}.msi" /qb TARGETDIR=C:/Python; \
rm ${msifile}.msi; \
done \
&& cd /wine/drive_c/Python \
&& echo 'wine '\''C:\Python\python.exe'\'' "$@"' > /usr/bin/python \
&& echo 'wine '\''C:\Python\Scripts\easy_install.exe'\'' "$@"' > /usr/bin/easy_install \
&& echo 'wine '\''C:\Python\Scripts\pip.exe'\'' "$@"' > /usr/bin/pip \
&& echo 'wine '\''C:\Python\Scripts\pyinstaller.exe'\'' "$@"' > /usr/bin/pyinstaller \
&& echo 'wine '\''C:\Python\Scripts\pyupdater.exe'\'' "$@"' > /usr/bin/pyupdater \
&& echo 'assoc .py=PythonScript' | wine cmd \
&& echo 'ftype PythonScript=c:\Python\python.exe "%1" %*' | wine cmd \
&& while pgrep wineserver >/dev/null; do echo "Waiting for wineserver"; sleep 1; done \
&& chmod +x /usr/bin/python /usr/bin/easy_install /usr/bin/pip /usr/bin/pyinstaller /usr/bin/pyupdater \
&& (pip install -U pip || true) \
&& rm -rf /tmp/.wine-*

ENV W_DRIVE_C=/wine/drive_c
ENV W_WINDIR_UNIX="$W_DRIVE_C/windows"
ENV W_SYSTEM_DLLS="$W_WINDIR_UNIX/system32"
ENV W_TMP="$W_DRIVE_C/windows/temp/_$0"

# install Microsoft Visual C++ Redistributable for Visual Studio 2017 dll files
RUN set -x \
&& rm -f "$W_TMP"/* \
&& wget -P "$W_TMP" https://download.visualstudio.microsoft.com/download/pr/11687613/88b50ce70017bf10f2d56d60fcba6ab1/VC_redist.x86.exe \
&& cabextract -q --directory="$W_TMP" "$W_TMP"/VC_redist.x86.exe \
&& cabextract -q --directory="$W_TMP" "$W_TMP/a10" \
&& cabextract -q --directory="$W_TMP" "$W_TMP/a11" \
&& cd "$W_TMP" \
&& rename 's/_/\-/g' *.dll \
&& cp "$W_TMP"/*.dll "$W_SYSTEM_DLLS"/

# install pyinstaller
RUN /usr/bin/pip install pyinstaller==$PYINSTALLER_VERSION

# put the src folder inside wine
RUN mkdir /src/ && ln -s /src /wine/drive_c/src
VOLUME /src/
WORKDIR /wine/drive_c/src/
RUN mkdir -p /wine/drive_c/tmp

COPY entrypoint-windows.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]
87 changes: 87 additions & 0 deletions Dockerfile-py3-bionic-win64
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
FROM ubuntu:bionic

ENV DEBIAN_FRONTEND noninteractive

ARG WINE_VERSION=stable
ARG PYTHON_VERSION=3.7.9
ARG PYINSTALLER_VERSION=4.0

# we need wine for this all to work, so we'll use the PPA
RUN set -x \
&& dpkg --add-architecture i386 \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy apt-transport-https software-properties-common wget gpg-agent rename \
&& wget -nv https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key \
&& apt-key add Release.key \
&& apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/ ./' \
&& wget -nv https://dl.winehq.org/wine-builds/winehq.key \
&& apt-key add winehq.key \
&& add-apt-repository 'https://dl.winehq.org/wine-builds/ubuntu/' \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy winehq-$WINE_VERSION winbind cabextract \
&& apt-get clean \
&& wget -nv https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
&& chmod +x winetricks \
&& mv winetricks /usr/local/bin

# wine settings
ENV WINEARCH win64
ENV WINEDEBUG fixme-all
ENV WINEPREFIX /wine

# PYPI repository location
ENV PYPI_URL=https://pypi.python.org/
# PYPI index location
ENV PYPI_INDEX_URL=https://pypi.python.org/simple

# install python in wine, using the msi packages to install, extracting
# the files directly, since installing isn't running correctly.
RUN set -x \
&& winetricks win7 \
&& for msifile in `echo core dev exe lib path pip tcltk tools`; do \
wget -nv "https://www.python.org/ftp/python/$PYTHON_VERSION/amd64/${msifile}.msi"; \
wine msiexec /i "${msifile}.msi" /qb TARGETDIR=C:/Python; \
rm ${msifile}.msi; \
done \
&& cd /wine/drive_c/Python \
&& echo 'wine '\''C:\Python\python.exe'\'' "$@"' > /usr/bin/python \
&& echo 'wine '\''C:\Python\Scripts\easy_install.exe'\'' "$@"' > /usr/bin/easy_install \
&& echo 'wine '\''C:\Python\Scripts\pip.exe'\'' "$@"' > /usr/bin/pip \
&& echo 'wine '\''C:\Python\Scripts\pyinstaller.exe'\'' "$@"' > /usr/bin/pyinstaller \
&& echo 'wine '\''C:\Python\Scripts\pyupdater.exe'\'' "$@"' > /usr/bin/pyupdater \
&& echo 'assoc .py=PythonScript' | wine cmd \
&& echo 'ftype PythonScript=c:\Python\python.exe "%1" %*' | wine cmd \
&& while pgrep wineserver >/dev/null; do echo "Waiting for wineserver"; sleep 1; done \
&& chmod +x /usr/bin/python /usr/bin/easy_install /usr/bin/pip /usr/bin/pyinstaller /usr/bin/pyupdater \
&& (pip install -U pip || true) \
&& rm -rf /tmp/.wine-*

ENV W_DRIVE_C=/wine/drive_c
ENV W_WINDIR_UNIX="$W_DRIVE_C/windows"
ENV W_SYSTEM64_DLLS="$W_WINDIR_UNIX/system32"
ENV W_TMP="$W_DRIVE_C/windows/temp/_$0"

# install Microsoft Visual C++ Redistributable for Visual Studio 2017 dll files
RUN set -x \
&& rm -f "$W_TMP"/* \
&& wget -P "$W_TMP" https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe \
&& cabextract -q --directory="$W_TMP" "$W_TMP"/VC_redist.x64.exe \
&& cabextract -q --directory="$W_TMP" "$W_TMP/a10" \
&& cabextract -q --directory="$W_TMP" "$W_TMP/a11" \
&& cd "$W_TMP" \
&& rename 's/_/\-/g' *.dll \
&& cp "$W_TMP"/*.dll "$W_SYSTEM64_DLLS"/

# install pyinstaller
RUN /usr/bin/pip install pyinstaller==$PYINSTALLER_VERSION

# put the src folder inside wine
RUN mkdir /src/ && ln -s /src /wine/drive_c/src
VOLUME /src/
WORKDIR /wine/drive_c/src/
RUN mkdir -p /wine/drive_c/tmp

COPY entrypoint-windows.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]
2 changes: 1 addition & 1 deletion Dockerfile-py3-focal-amd64
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:focal
SHELL ["/bin/bash", "-i", "-c"]

ARG PYTHON_VERSION=3.7.9
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-py3-precise-amd64
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:12.04
FROM ubuntu:precise
SHELL ["/bin/bash", "-i", "-c"]

ARG PYTHON_VERSION=3.7.9
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-py3-precise-i386
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM i386/ubuntu:12.04
FROM i386/ubuntu:precise
SHELL ["/bin/bash", "-i", "-c"]

ARG PYTHON_VERSION=3.7.9
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-py3-xenial-amd64
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:xenial
SHELL ["/bin/bash", "-i", "-c"]

ARG PYTHON_VERSION=3.7.9
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile-py3-xenial-win32
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM ubuntu:16.04
FROM ubuntu:xenial

ENV DEBIAN_FRONTEND noninteractive

ARG WINE_VERSION=winehq-staging
ARG WINE_VERSION=staging
ARG PYTHON_VERSION=3.7.9
ARG PYINSTALLER_VERSION=4.0

Expand All @@ -15,7 +15,7 @@ RUN set -x \
&& apt-key add winehq.key \
&& add-apt-repository 'https://dl.winehq.org/wine-builds/ubuntu/' \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy $WINE_VERSION winbind cabextract \
&& apt-get install --no-install-recommends -qfy winehq-$WINE_VERSION winbind cabextract \
&& apt-get clean \
&& wget -nv https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
&& chmod +x winetricks \
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile-py3-xenial-win64
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM ubuntu:16.04
FROM ubuntu:xenial

ENV DEBIAN_FRONTEND noninteractive

ARG WINE_VERSION=winehq-staging
ARG WINE_VERSION=staging
ARG PYTHON_VERSION=3.7.9
ARG PYINSTALLER_VERSION=4.0

Expand All @@ -15,7 +15,7 @@ RUN set -x \
&& apt-key add winehq.key \
&& add-apt-repository 'https://dl.winehq.org/wine-builds/ubuntu/' \
&& apt-get update -qy \
&& apt-get install --no-install-recommends -qfy $WINE_VERSION winbind cabextract \
&& apt-get install --no-install-recommends -qfy winehq-$WINE_VERSION winbind cabextract \
&& apt-get clean \
&& wget -nv https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
&& chmod +x winetricks \
Expand Down
Loading