Skip to content

Remove firmware paths from Dockerfile #2086

Remove firmware paths from Dockerfile

Remove firmware paths from Dockerfile #2086

name: Installation
on:
push:
paths-ignore:
- 'tests/Dockerfile.*-BATS'
- 'build.bash'
- 'build-image/offline-install-modifications.bash'
- '**.md'
- '**.txt'
- '**.html'
- '**.css'
- '**.bats'
- 'docs/**'
- '.github/workflows/**'
- '!.github/workflows/installation-action.yml'
pull_request:
paths-ignore:
- 'tests/Dockerfile.*-BATS'
- 'build.bash'
- 'build-image/offline-install-modifications.bash'
- '**.md'
- '**.txt'
- '**.html'
- '**.css'
- '**.bats'
- 'docs/**'
- '.github/workflows/**'
- '!.github/workflows/installation-action.yml'
jobs:
installation-tests:
name: ${{ matrix.platform }} installation
runs-on: ${{ matrix.runner }}
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
strategy:
matrix:
include:
- platform: rpi5-openjdk17
dockerfile: ./tests/Dockerfile.rpi5-installation
runner: ubuntu-24.04-arm
buildx_platform: linux/arm64
java_opt: 17
- platform: rpi3-openjdk17
dockerfile: ./tests/Dockerfile.rpi3-installation
runner: ubuntu-24.04-arm
buildx_platform: linux/arm/v7
java_opt: 17
- platform: amd64-openjdk17
dockerfile: ./tests/Dockerfile.amd64-installation
runner: ubuntu-24.04
buildx_platform: linux/amd64
java_opt: 17
- platform: rpi5-openjdk21
dockerfile: ./tests/Dockerfile.rpi5-installation
runner: ubuntu-24.04-arm
buildx_platform: linux/arm64
java_opt: 21
continue-on-error: true # Experimental currently
- platform: rpi5-temurin21
dockerfile: ./tests/Dockerfile.rpi5-installation
runner: ubuntu-24.04-arm
buildx_platform: linux/arm64
java_opt: Temurin21
continue-on-error: true # Experimental currently
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup environment
run: |
sudo -E ./tests/ci-setup.bash github
sed -i 's|^java_opt=.*$|java_opt='"${{ matrix.java_opt }}"'|' build-image/openhabian.conf
- name: Set up Docker Buildx
id: buildx
uses: docker/[email protected]
with:
driver-opts: network=host
- name: Build Docker image
uses: docker/[email protected]
with:
context: .
file: ${{ matrix.dockerfile }}
builder: ${{ steps.buildx.outputs.name }}
platforms: ${{ matrix.buildx_platform }}
tags: openhabian/${{ matrix.platform }}:latest
load: true
- name: openHABian installation test with ${{ matrix.platform }}
run: |
docker run --privileged --rm --name "openhabian-${{ matrix.platform }}" -d openhabian/${{ matrix.platform }}
docker exec -i "openhabian-${{ matrix.platform }}" bash -c './build.bash local-test && /boot/first-boot.bash'