diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 2c0da9b..4fb1d85 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -2,17 +2,32 @@ name: Docker Image CI on: push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - + branches: + - main jobs: - - build: - - runs-on: python:3-slim - + docker: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Build the Docker image - run: docker build . --file Dockerfile --tag sungather:$(date +%s) + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + - + run: echo "::set-output name=tag::v$(python setup.py --version)" + id: version + - uses: docker/setup-qemu-action@v1 + - uses: docker/setup-buildx-action@v1 + - + name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/sungather:${{ steps.version.outputs.tag }},${{ secrets.DOCKERHUB_USERNAME }}/sungather:latest diff --git a/.gitignore b/.gitignore index b77924e..cd33ed3 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,7 @@ dmypy.json # Pyre type checker .pyre/ + +# Intellij IDEA +.idea +*.iml \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d7de0b2..ba9408e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM python:3-slim +RUN apt-get update && apt-get install -y build-essential python3-dev && rm -rf /var/lib/apt/lists/* + RUN useradd sungather WORKDIR /usr/src/sungather