# Build an Alpine Linux image containing curl-impersonate and push to # Docker hub. name: Publish Docker image on: push: tags: - 'v*' jobs: push-docker-image: name: Push Docker image to Docker Hub runs-on: ubuntu-latest steps: - name: Check out the repo uses: actions/checkout@v2 - name: Log in to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Extract metadata (tags, labels) for Docker (chrome, alpine) id: meta_chrome_alpine uses: docker/metadata-action@v3 with: images: lwthiker/curl-impersonate tags: | type=semver,pattern={{version}},suffix=-chrome-alpine type=semver,pattern={{version}},suffix=-chrome type=semver,pattern={{major}}.{{minor}},suffix=-chrome-alpine type=semver,pattern={{major}}.{{minor}},suffix=-chrome - name: Build and push the Chrome version of curl-impersonate uses: docker/build-push-action@v2 with: push: true context: chrome/ file: chrome/Dockerfile.alpine tags: ${{ steps.meta_chrome_alpine.outputs.tags }} labels: ${{ steps.meta_chrome_alpine.outputs.labels }} - name: Extract metadata (tags, labels) for Docker (firefox, alpine) id: meta_ff_alpine uses: docker/metadata-action@v3 with: images: lwthiker/curl-impersonate tags: | type=semver,pattern={{version}},suffix=-ff-alpine type=semver,pattern={{version}},suffix=-ff type=semver,pattern={{major}}.{{minor}},suffix=-ff-alpine type=semver,pattern={{major}}.{{minor}},suffix=-ff - name: Build and push the Firefox version of curl-impersonate uses: docker/build-push-action@v2 with: push: true context: firefox/ file: firefox/Dockerfile.alpine tags: ${{ steps.meta_ff_alpine.outputs.tags }} labels: ${{ steps.meta_ff_alpine.outputs.labels }} - name: Extract metadata (tags, labels) for Docker (chrome, debian) id: meta_chrome_debian uses: docker/metadata-action@v3 with: images: lwthiker/curl-impersonate tags: | type=semver,pattern={{version}},suffix=-chrome-slim-bullseye type=semver,pattern={{major}}.{{minor}},suffix=-chrome-slim-bullseye - name: Build and push the Chrome version of curl-impersonate uses: docker/build-push-action@v2 with: push: true context: chrome/ file: chrome/Dockerfile tags: ${{ steps.meta_chrome_debian.outputs.tags }} labels: ${{ steps.meta_chrome_debian.outputs.labels }} - name: Extract metadata (tags, labels) for Docker (firefox, debian) id: meta_ff_debian uses: docker/metadata-action@v3 with: images: lwthiker/curl-impersonate tags: | type=semver,pattern={{version}},suffix=-ff-slim-bullseye type=semver,pattern={{major}}.{{minor}},suffix=-ff-slim-bullseye - name: Build and push the Firefox version of curl-impersonate uses: docker/build-push-action@v2 with: push: true context: firefox/ file: firefox/Dockerfile tags: ${{ steps.meta_ff_debian.outputs.tags }} labels: ${{ steps.meta_ff_debian.outputs.labels }}