diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml new file mode 100644 index 0000000..994febf --- /dev/null +++ b/.github/workflows/manylinux.yml @@ -0,0 +1,36 @@ +name: manylinux + +on: + push: + branches: + - "main" + +jobs: + build-and-publish: + runs-on: ubuntu-latest + strategy: + matrix: + python: [3.9] + qt: [6.4.2, 6.5.3, 6.6.2] + image: [manylinux_2_31] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to ghcr.io + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ${{ matrix.image }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: ghcr.io/python-LimeReport/${{ matrix.image }}:Py-${{ matrix.python }}-Qt-${{ matrix.qt }} \ No newline at end of file diff --git a/manylinux_2_31/Dockerfile b/manylinux_2_31/Dockerfile new file mode 100644 index 0000000..0c2cc6d --- /dev/null +++ b/manylinux_2_31/Dockerfile @@ -0,0 +1,20 @@ +FROM ubuntu:20.04 as env + +ARG PYTHON_VERSION=3.9 +ARG AQTINSTALL_VERSION=3.1.6 +ARG QT_VERSION=6.4.2 + +COPY ./scripts/install_python.sh ./scripts/install_pipx.sh ./scripts/install_qt.sh / + +RUN /install_python.sh && rm -f /install_python.sh +RUN /install_pipx.sh && rm -f /install_pipx.sh +RUN pipx install aqtinstall==${AQTINSTALL_VERSION} + +ENV PATH=/root/.local/bin:$PATH + +RUN /install_qt.sh && rm -f /install_qt.sh + +ENV PATH="/opt/Qt/${QT_VERSION}/gcc_64/bin:$PATH" +ENV LD_LIBRARY_PATH="/opt/Qt/${{ matrix.qt }}/gcc_64/lib" +ENV QT_VERSION=${QT_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} \ No newline at end of file