From daa35c3d028e53dc2f388907e10480b71633ab3b Mon Sep 17 00:00:00 2001 From: Rodja Trappe Date: Fri, 21 May 2021 05:25:30 +0200 Subject: [PATCH] first try to also start a docker multi build --- .github/workflows/python-publish.yml | 55 ++++++++++++++++++++++++++-- release.dockerfile | 4 +- 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 819de2224..45928675f 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -1,6 +1,3 @@ -# This workflow will upload a Python Package using Twine when a release is created -# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries - name: Upload Python Package on: @@ -8,7 +5,7 @@ on: types: [created] jobs: - deploy: + pypi: runs-on: ubuntu-latest steps: @@ -30,3 +27,53 @@ jobs: env: POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} run: poetry publish --build + -name: verify + run: for i in {1..100}; do; python -m pip install 'nicegui==${{ steps.get_version.outputs.VERSION }}' && break || sleep 2; done + + docker: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Prepare + id: prep + run: | + DOCKER_IMAGE=${{ secrets.DOCKER_USERNAME }}/${GITHUB_REPOSITORY#*/} + VERSION=latest + SHORTREF=${GITHUB_SHA::8} + + # If this is git tag, use the tag name as a docker tag + if [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/v} + fi + TAGS="${DOCKER_IMAGE}:${VERSION},${DOCKER_IMAGE}:${SHORTREF}" + + # If the VERSION looks like a version number, assume that + # this is the most recent version of the image and also + # tag it 'latest'. + if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + TAGS="$TAGS,${DOCKER_IMAGE}:latest" + fi + + # Set output parameters. + echo ::set-output name=tags::${TAGS} + echo ::set-output name=docker_image::${DOCKER_IMAGE} + - name: Set up QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build + uses: docker/build-push-action@v2 + with: + builder: ${{ steps.buildx.outputs.name }} + context: . + file: ./release.dockerfile + platforms: linux/amd64,linux/arm64,linux/arm32v5,linux/arm32v6,linux/arm32v7,linux/ppc64le + push: true + tags: ${{ steps.prep.outputs.tags }} \ No newline at end of file diff --git a/release.dockerfile b/release.dockerfile index af984893c..c431953b6 100644 --- a/release.dockerfile +++ b/release.dockerfile @@ -1,9 +1,11 @@ FROM python:3.9-slim -RUN python -m pip install 'nicegui>=0.2.4' +RUN python -m pip install nicegui WORKDIR /app COPY main.py README.md . +EXPOSE 80 + CMD python3 main.py