Skip to content

Merge pull request #8116 from 4teamwork/docker-build-self-hosted #109

Merge pull request #8116 from 4teamwork/docker-build-self-hosted

Merge pull request #8116 from 4teamwork/docker-build-self-hosted #109

Workflow file for this run

name: Build Docker image
on:
workflow_dispatch:
push:
tags:
- '*.*.*'
branches:
- master
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create src directory
run: mkdir src
- name: Checkout opengever.maintenance
uses: actions/checkout@v4
with:
repository: 4teamwork/opengever.maintenance
path: src/opengever.maintenance
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: tcp://buildkitd.buildx:1234
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract metadata from Git reference
id: meta_ogcore
uses: docker/metadata-action@v5
with:
images: |
4teamwork/ogcore
flavor: |
latest=false
tags: |
type=pep440,pattern={{version}}
type=raw,value=latest,enable=${{ github.ref_type == 'tag' && github.event.base_ref == 'refs/heads/master' }}
type=edge,branch=master
- name: Build and push ogcore
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/core/Dockerfile
platforms: ${{ github.ref_type == 'tag' && 'linux/amd64,linux/arm64' || 'linux/amd64' }}
push: true
tags: ${{ steps.meta_ogcore.outputs.tags }}
labels: ${{ steps.meta_ogcore.outputs.labels }}
cache-from: type=gha,scope=ogcore
cache-to: type=gha,mode=max,scope=ogcore
secrets: |
"gldt=${{ secrets.GITLAB_DEPLOY_TOKEN }}"
- name: Extract metadata from Git reference for ogtestserver
id: meta_ogtestserver
uses: docker/metadata-action@v5
with:
images: |
4teamwork/ogtestserver
flavor: |
latest=false
tags: |
type=pep440,pattern={{version}}
type=raw,value=latest,enable=${{ github.ref_type == 'tag' && github.event.base_ref == 'refs/heads/master' }}
type=edge,branch=master
- name: Build and push ogtestserver
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/testserver/Dockerfile
platforms: ${{ github.ref_type == 'tag' && 'linux/amd64,linux/arm64' || 'linux/amd64' }}
push: true
tags: ${{ steps.meta_ogtestserver.outputs.tags }}
labels: ${{ steps.meta_ogtestserver.outputs.labels }}
cache-from: type=gha,scope=ogtestserver
cache-to: type=gha,mode=max,scope=ogtestserver
secrets: |
"gldt=${{ secrets.GITLAB_DEPLOY_TOKEN }}"