Skip to content

Publish Theia IDE Docker Image #22

Publish Theia IDE Docker Image

Publish Theia IDE Docker Image #22

name: Publish Theia IDE Docker Image
on:
workflow_dispatch:
inputs:
tag:
description: The image's tag
required: true
default: next
jobs:
build:
name: Build and push Theia IDE image to Github Packages
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v3.7.1
with:
install: true
driver: docker-container
driver-opts: |
image=moby/buildkit:latest
network=host
- name: Login to Docker Hub
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to the Github Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: List docker buildx available platforms
shell: bash
run: |
docker buildx inspect --bootstrap
- name: Build and push Docker image
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
file: browser.Dockerfile
push: true
tags: |
ghcr.io/${{ github.repository }}/theia-ide:${{ github.event.inputs.tag }}
ghcr.io/${{ github.repository }}/theia-ide:latest
platforms: linux/amd64,linux/arm64