Skip to content

feat: add composer stage. add install.htaccess #106

feat: add composer stage. add install.htaccess

feat: add composer stage. add install.htaccess #106

name: Docker Multiplatform Build ci
on:
push:
branches:
- 'master'
- 'develop'
# no concurrency, cancel previous running workflow
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4.1.2
- name: Docker Lint
# https://github.com/marketplace/actions/hadolint-action
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: build/Dockerfile
no-fail: true
verbose: true
-
name: Set up QEMU
# https://github.com/marketplace/actions/docker-setup-qemu
# set up more platforms (default = all)
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
id: buildx
# https://github.com/marketplace/actions/docker-setup-buildx
# set up a multi-platform builder for Docker containers
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
# https://github.com/marketplace/actions/docker-login
# login to DockerHub with secrets login & token
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Cache Docker layers
# https://github.com/marketplace/actions/cache
# this action allows caching dependancies and build output
uses: actions/cache@v4
id: cache
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.ref_name }}
restore-keys: |
${{ runner.os }}-buildx-
-
name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
-
name: Build and push Jeedom Light with Xdebug
# https://github.com/marketplace/actions/build-and-push-docker-images
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: light_jeedom
build-args: XDEBUG=true
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:light-debug,
${{ secrets.DOCKER_USER }}/jeedom:bullseye-light-debug
-
name: Build and push Jeedom Light
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: light_jeedom
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:light,
${{ secrets.DOCKER_USER }}/jeedom:bullseye-light
-
name: Build and push Jeedom Full Standalone
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: full_jeedom
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:full,
${{ secrets.DOCKER_USER }}/jeedom:latest
-
name: Build and push Jeedom Full Standalone Debian Buster
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: full_jeedom
build-args: DEBIAN=buster
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:buster,
${{ secrets.DOCKER_USER }}/jeedom:buster-full
-
name: Build and push Jeedom Full Standalone Debian Bookworm
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: full_jeedom
build-args: |
DEBIAN=bookworm
PHP=8.3
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:bookworm,
${{ secrets.DOCKER_USER }}/jeedom:bookworm-full
-
name: Build and push Jeedom Full Standalone Debian Bookworm
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: light_jeedom
build-args: |
DEBIAN=bookworm
PHP=8.3
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: ${{ secrets.DOCKER_USER }}/jeedom:bookworm-light
-
name: Build and push Jeedom Full Standalone with XDebug
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: full_jeedom
build-args: XDEBUG=true
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:debug,
${{ secrets.DOCKER_USER }}/jeedom:bullseye-debug
-
name: Build and push Jeedom Full Standalone Beta
# Same builds with arg = beta...
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: full_jeedom
build-args: JEEDOM_VERSION=beta
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:beta,
${{ secrets.DOCKER_USER }}/jeedom:bullseye-full-beta,
${{ secrets.DOCKER_USER }}/jeedom:bullseye-beta
-
name: Build and push Jeedom Light beta
uses: docker/build-push-action@v5
continue-on-error: true
with:
context: build
target: light_jeedom
build-args: JEEDOM_VERSION=beta
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
${{ secrets.DOCKER_USER }}/jeedom:light-beta,
${{ secrets.DOCKER_USER }}/jeedom:bullseye-light-beta