ci: Drop Docker container builds (not enough time saved)
Add user 'build' for arch to make a package
This commit is contained in:
17
.github/docker/archlinux/Dockerfile
vendored
17
.github/docker/archlinux/Dockerfile
vendored
@ -1,17 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG BASE_IMAGE
|
||||
FROM $BASE_IMAGE AS base
|
||||
|
||||
FROM base AS deps
|
||||
|
||||
RUN pacman -Syu --noconfirm git python sudo && \
|
||||
pacman -Scc --noconfirm
|
||||
|
||||
RUN useradd -m build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN --mount=type=bind,target=/app,rw \
|
||||
./scripts/install_deps.py && \
|
||||
pacman -Scc --noconfirm
|
||||
17
.github/docker/debian/Dockerfile
vendored
17
.github/docker/debian/Dockerfile
vendored
@ -1,17 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG BASE_IMAGE
|
||||
FROM $BASE_IMAGE AS base
|
||||
|
||||
FROM base AS deps
|
||||
|
||||
RUN apt update && \
|
||||
apt dist-upgrade -y && \
|
||||
apt install -y git python3 && \
|
||||
apt clean
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN --mount=type=bind,target=/app,rw \
|
||||
./scripts/install_deps.py && \
|
||||
apt clean
|
||||
16
.github/docker/fedora/Dockerfile
vendored
16
.github/docker/fedora/Dockerfile
vendored
@ -1,16 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG BASE_IMAGE
|
||||
FROM $BASE_IMAGE AS base
|
||||
|
||||
FROM base AS deps
|
||||
|
||||
RUN dnf upgrade -y && \
|
||||
dnf install -y git python3 && \
|
||||
dnf clean all
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN --mount=type=bind,target=/app,rw \
|
||||
./scripts/install_deps.py && \
|
||||
dnf clean all
|
||||
17
.github/docker/opensuse/Dockerfile
vendored
17
.github/docker/opensuse/Dockerfile
vendored
@ -1,17 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG BASE_IMAGE
|
||||
FROM $BASE_IMAGE AS base
|
||||
|
||||
FROM base AS deps
|
||||
|
||||
RUN zypper refresh && \
|
||||
zypper update -y && \
|
||||
zypper install -y git python3 && \
|
||||
zypper clean --all
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN --mount=type=bind,target=/app,rw \
|
||||
./scripts/install_deps.py && \
|
||||
zypper clean --all
|
||||
80
.github/workflows/build-containers.yml
vendored
80
.github/workflows/build-containers.yml
vendored
@ -1,80 +0,0 @@
|
||||
# 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: 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: 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
|
||||
|
||||
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 }}
|
||||
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
@ -136,28 +136,28 @@ jobs:
|
||||
|
||||
- name: "debian-13-amd64"
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:debian-13-amd64
|
||||
container: debian:trixie-slim
|
||||
like: "debian"
|
||||
timeout: 20
|
||||
config-args: "-G Ninja -DCMAKE_INSTALL_PREFIX=/usr"
|
||||
|
||||
- name: "fedora-40-amd64"
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:fedora-40-amd64
|
||||
container: fedora:40
|
||||
like: "fedora"
|
||||
timeout: 20
|
||||
config-args: "-G Ninja -DCMAKE_INSTALL_PREFIX=/usr"
|
||||
|
||||
- name: "opensuse-amd64"
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:opensuse-amd64
|
||||
container: opensuse/tumbleweed:latest
|
||||
like: "suse"
|
||||
timeout: 20
|
||||
config-args: "-G Ninja -DCMAKE_INSTALL_PREFIX=/usr"
|
||||
|
||||
- name: "archlinux-amd64"
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:archlinux-amd64
|
||||
container: archlinux:latest
|
||||
like: "arch"
|
||||
timeout: 20
|
||||
config-args: "-G Ninja -DCMAKE_INSTALL_PREFIX=/usr"
|
||||
@ -215,6 +215,7 @@ jobs:
|
||||
fi
|
||||
|
||||
if [ ${{ matrix.target.like }} == "arch" ];then
|
||||
useradd -m build
|
||||
sudo chown -R build build
|
||||
cd build
|
||||
sudo -u build makepkg -s
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
||||
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:debian-13-amd64
|
||||
container: debian:trixie-slim
|
||||
timeout-minutes: 20
|
||||
|
||||
strategy:
|
||||
|
||||
2
.github/workflows/sonarcloud-analysis.yml
vendored
2
.github/workflows/sonarcloud-analysis.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
if: ${{ vars.SONAR_SCANNER_ENABLED }}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:debian-13-amd64
|
||||
container: debian:trixie-slim
|
||||
timeout-minutes: 20
|
||||
|
||||
env:
|
||||
|
||||
2
.github/workflows/valgrind-analysis.yml
vendored
2
.github/workflows/valgrind-analysis.yml
vendored
@ -7,7 +7,7 @@ on:
|
||||
jobs:
|
||||
valgrind-analysis:
|
||||
runs-on: ubuntu-latest
|
||||
container: deskflow/deskflow:debian-13-amd64
|
||||
container: debian:trixie-slim
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
|
||||
Reference in New Issue
Block a user