Skip to content

Rename & extract variables for consistency; cosmetics #31

Rename & extract variables for consistency; cosmetics

Rename & extract variables for consistency; cosmetics #31

name: Docker
on:
pull_request:
push:
branches-ignore:
- "*-PR"
env:
azul_docker_pycharm_base_image_tag: bullseye-20231030
azul_docker_pycharm_upstream_version: 2023.2.3
azul_docker_pycharm_internal_version: 5 # increment this to update the OS packages
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
# To facilitate local builds using the Makefile
driver-opts: ${{ startsWith(vars.DOCKERHUB_REPOSITORY, 'localhost:') && 'network=host' || '' }}
- name: Log into registry
if: >
github.event_name != 'pull_request'
&& vars.DOCKERHUB_USERNAME
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and conditionally push Docker image
uses: docker/build-push-action@v5
with:
build-args: |
azul_docker_pycharm_base_image_tag=${{ env.azul_docker_pycharm_base_image_tag }}
azul_docker_pycharm_upstream_version=${{ env.azul_docker_pycharm_upstream_version }}
azul_docker_pycharm_internal_version=${{ env.azul_docker_pycharm_internal_version }}
context: .
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: "${{ format(
'{0}:{1}-{2}',
vars.DOCKERHUB_REPOSITORY,
env.azul_docker_pycharm_upstream_version,
env.azul_docker_pycharm_internal_version
) }}"
cache-from: type=registry,ref=${{ vars.DOCKERHUB_REPOSITORY }}_buildcache
cache-to: type=registry,ref=${{ vars.DOCKERHUB_REPOSITORY }}_buildcache,mode=max