name: "devrelease:docker"

on:
  push:
    branches:
      - master
      - release-*
    paths:
      - utils/docker/**
      - browsers.json
      - .github/workflows/publish_canary_docker.yml

jobs:
  publish-canary-docker:
    name: "publish to DockerHub"
    # We use `docker push --all-tags` to push all tags which is a newly addition to docker
    runs-on: ubuntu-20.04
    if: github.repository == 'microsoft/playwright'
    steps:
    - uses: actions/checkout@v2
    - uses: azure/docker-login@v1
      with:
        login-server: playwright.azurecr.io
        username: playwright
        password: ${{ secrets.DOCKER_PASSWORD }}
    - uses: microsoft/playwright-github-action@v1
    - uses: actions/setup-node@v1
      with:
        node-version: 10.15
    - run: npm ci
    - run: npm run build
    - run: ./utils/docker/build.sh bionic playwright:localbuild-bionic
    - run: ./utils/docker/build.sh focal playwright:localbuild-focal
    - name: tag & publish
      run: |
        ./utils/docker/tag_and_push.sh playwright:localbuild-bionic playwright.azurecr.io/public/playwright:next
        ./utils/docker/tag_and_push.sh playwright:localbuild-bionic playwright.azurecr.io/public/playwright:next-bionic
        ./utils/docker/tag_and_push.sh playwright:localbuild-bionic playwright.azurecr.io/public/playwright:sha-${{ github.sha }}
        ./utils/docker/tag_and_push.sh playwright:localbuild-focal playwright.azurecr.io/public/playwright:next-focal

