Skip to content

Dockerhub-build

Dockerhub-build #41

name: Dockerhub-build
env:
IMAGE_NAME: antlafarge/jdownloader
on:
push:
branches:
- 'main'
paths-ignore:
- '**.md'
- '**.MD'
pull_request:
branches:
- 'main'
paths-ignore:
- '**.md'
- '**.MD'
workflow_dispatch:
schedule:
- cron: '0 0 1 * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
matrix:
include:
- name: alpine-openjdk8
file: alpine.Dockerfile
openjdk: openjdk8-jre
platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
- name: ubuntu-openjdk8
file: ubuntu.Dockerfile
openjdk: openjdk-8-jre-headless
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
- name: alpine-openjdk17
file: alpine.Dockerfile
openjdk: openjdk17-jre-headless
platforms: linux/amd64,linux/arm64/v8,linux/ppc64le,linux/s390x
- name: ubuntu-openjdk17
file: ubuntu.Dockerfile
openjdk: openjdk-17-jre-headless
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
- name: alpine-openjdk21
file: alpine.Dockerfile
openjdk: openjdk21-jre-headless
platforms: linux/amd64,linux/arm64/v8,linux/ppc64le,linux/riscv64,linux/s390x
- name: ubuntu-openjdk21
file: ubuntu.Dockerfile
openjdk: openjdk-21-jre-headless
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: ${{ matrix.name }}
uses: docker/build-push-action@v6
with:
file: Dockerfile/${{ matrix.file }}
build-args: OPENJDK=${{ matrix.openjdk }}
platforms: ${{ matrix.platforms }}
tags: ${{ env.IMAGE_NAME }}:dev-${{ matrix.name }}
push: true
- name: Logout from Docker Hub
run: docker logout