name: Concrete Python Push Docker Image on: workflow_dispatch: inputs: tag: description: 'tag to use for the docker image' type: string workflow_call: inputs: tag: description: 'tag to use for the docker image' type: string env: DOCKER_IMAGE_NAME: zamafhe/concrete-python:${{ inputs.tag }} DOCKER_FILE: docker/Dockerfile.concrete-python jobs: build_and_push: runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v3 - name: Get version from tag run: | # remove leading 'v' and '-' from tag export VERSION=`echo ${{ inputs.tag }} | sed "s/^v//g" | sed "s/-//g"` echo "VERSION=$VERSION" >> "${GITHUB_ENV}" - name: Build image run: | mkdir empty_context docker image build -t ${{ env.DOCKER_IMAGE_NAME }} --build-arg version=${{ env.VERSION }} -f ${{ env.DOCKER_FILE }} empty_context - name: Login to Docker Hub uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push image run: docker image push ${{ env.DOCKER_IMAGE_NAME }}