diff --git a/.github/workflows/build-docker.yaml b/.github/workflows/build-docker.yaml new file mode 100644 index 0000000..5d384c7 --- /dev/null +++ b/.github/workflows/build-docker.yaml @@ -0,0 +1,49 @@ +name: "Build and push docker image" + +on: + push: + tags: + - '*' + paths: + - ".github/workflows/build-docker.yaml" + - "**" + +env: + IMAGE: "oskarstark/php-cs-fixer-ga" + +jobs: + build: + name: 'Build and Push' + runs-on: "ubuntu-latest" + steps: + - name: 'Checkout' + uses: 'actions/checkout@v3' + with: + ref: '${{ github.head_ref }}' + + - name: 'Exposing Release Version' + run: | + echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + + - name: Login to Dockerhub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2.9.1 + + - name: Build and push images + uses: docker/build-push-action@v4 + with: + push: true + builder: ${{ steps.buildx.outputs.name }} + tags: | + ${{env.IMAGE}}:latest + ${{env.IMAGE}}:${{env.RELEASE_VERSION}} + file: Dockerfile + context: . + cache-from: type=gha + cache-to: type=gha,mode=max