* Bump CI * Use 2 core arm runner * Update ChangeLog * Fixed filename `deskflowc.exe.manifest` * Remove .vscode/settings.json file * Restore test values to make tests work (test values should not contain app name) * Fixed syntax error in Windows watchdog * Add `sonar-project.properties` file * Change default core count * Add default package prefix * Default product name in CMake * Tweak ChangeLog
129 lines
3.6 KiB
YAML
129 lines
3.6 KiB
YAML
# Weekly build of the Linux Docker containers.
|
|
#
|
|
# The objective is to reduce the problem where package updates often break the build process
|
|
# due to transient network errors.
|
|
#
|
|
# We use Docker Buildx instead of Docker Automated Builds so that we can create an image that is
|
|
# always at most a week out of date (instead of the last time a Dockerfile change was pushed).
|
|
|
|
name: Build containers
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "0 5 * * 0"
|
|
|
|
jobs:
|
|
build-containers:
|
|
name: ${{ matrix.os.name }}
|
|
runs-on: ${{ matrix.os.runs-on }}
|
|
if: ${{ vars.BUILD_CONTAINERS }}
|
|
timeout-minutes: 10
|
|
|
|
strategy:
|
|
# Build all images even if some fail.
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
os:
|
|
- name: debian-13-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: debian
|
|
base-image: debian:trixie-slim
|
|
platform: amd64
|
|
|
|
- name: debian-12-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: debian
|
|
base-image: debian:12-slim
|
|
platform: amd64
|
|
|
|
- name: debian-12-arm64
|
|
runs-on: ubuntu-24.04-2-core-arm64
|
|
config-dir: debian
|
|
base-image: arm64v8/debian:12-slim
|
|
platform: arm64
|
|
|
|
- name: ubuntu-24.04-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: debian
|
|
base-image: ubuntu:24.04
|
|
platform: amd64
|
|
|
|
- name: ubuntu-22.04-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: debian
|
|
base-image: ubuntu:22.04
|
|
platform: amd64
|
|
|
|
- name: fedora-40-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: fedora
|
|
base-image: fedora:40
|
|
platform: amd64
|
|
|
|
- name: fedora-40-arm64
|
|
runs-on: ubuntu-24.04-2-core-arm64
|
|
config-dir: fedora
|
|
base-image: arm64v8/fedora:40
|
|
platform: arm64
|
|
|
|
- name: fedora-39-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: fedora
|
|
base-image: fedora:39
|
|
platform: amd64
|
|
|
|
- name: rockylinux-9-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: fedora
|
|
base-image: rockylinux:9
|
|
platform: amd64
|
|
|
|
- name: almalinux-9-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: fedora
|
|
base-image: almalinux:9
|
|
platform: amd64
|
|
|
|
- name: opensuse-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: opensuse
|
|
base-image: opensuse/tumbleweed:latest
|
|
platform: amd64
|
|
|
|
- name: archlinux-amd64
|
|
runs-on: ubuntu-latest
|
|
config-dir: archlinux
|
|
base-image: archlinux:latest
|
|
platform: amd64
|
|
|
|
- name: manjaro-amd64
|
|
config-dir: archlinux
|
|
runs-on: ubuntu-latest
|
|
base-image: manjarolinux/base:latest
|
|
platform: amd64
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- 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: Build and push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: ./.github/docker/${{ matrix.os.config-dir }}/Dockerfile
|
|
tags: deskflow/deskflow:${{ matrix.os.name }}
|
|
build-args: BASE_IMAGE=${{ matrix.os.base-image }}
|
|
platforms: linux/${{ matrix.os.platform }}
|