-
Notifications
You must be signed in to change notification settings - Fork 927
49 lines (46 loc) · 1.76 KB
/
publish_docker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: "publish release - Docker"
on:
workflow_dispatch:
inputs:
is_release:
required: false
type: boolean
description: "Is this a release image?"
release:
types: [published]
jobs:
publish-docker-release:
name: "publish to DockerHub"
runs-on: ubuntu-22.04
if: github.repository == 'microsoft/playwright-python'
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
environment: Docker
steps:
- uses: actions/checkout@v3
- name: Azure login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_DOCKER_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_DOCKER_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_DOCKER_SUBSCRIPTION_ID }}
- name: Login to ACR via OIDC
run: az acr login --name playwright
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Set up Docker QEMU for arm64 docker builds
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Install dependencies & browsers
run: |
python -m pip install --upgrade pip
pip install -r local-requirements.txt
pip install -e .
- run: ./utils/docker/publish_docker.sh stable
if: (github.event_name != 'workflow_dispatch' && !github.event.release.prerelease) || (github.event_name == 'workflow_dispatch' && github.event.inputs.is_release == 'true')
- run: ./utils/docker/publish_docker.sh canary
if: (github.event_name != 'workflow_dispatch' && github.event.release.prerelease) || (github.event_name == 'workflow_dispatch' && github.event.inputs.is_release != 'true')