Skip to content

build: create release 0.2.0 #70

build: create release 0.2.0

build: create release 0.2.0 #70

Workflow file for this run

# SPDX-FileCopyrightText: 2024 Roman Gilg <subdiff@gmail.com>
# SPDX-License-Identifier: MIT
name: CI
on:
- push
- pull_request
jobs:
get:
runs-on: ubuntu-latest
outputs:
image: ${{ steps.setvar.outputs.result }}
env:
prefix: registry.gitlab.com/kwinft/ci-images/archlinux/como-base
result: ''
branch: ''
steps:
- run: echo "branch=${{ github.head_ref || github.ref_name }}" >> $GITHUB_ENV
- run: echo "result=${{ env.prefix }}-master" >> $GITHUB_ENV
- if: startsWith(env.branch, '0.') || github.ref_type == 'tag'
run: echo "result=${{ env.prefix }}-stable" >> $GITHUB_ENV
- id: setvar
run: echo "result=${{ env.result }}" >> $GITHUB_OUTPUT
message-lint:
if: endsWith(needs.get.outputs.image, '-master')
uses: ./.github/workflows/commit-lint.yml
needs: get
with:
upstream-repo: https://github.com/winft/como.git
reuse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance
uses: fsfe/reuse-action@v2
clang-format:
uses: ./.github/workflows/clang-format.yml
clang-build:
uses: ./.github/workflows/build.yml
needs: get
with:
image: ${{ needs.get.outputs.image }}
artifact-name: clang-build
cmake-preset: clang
builds:
strategy:
matrix:
preset: [gcc-cov, release]
uses: ./.github/workflows/build.yml
needs: get
with:
image: ${{ needs.get.outputs.image }}
artifact-name: ${{ matrix.preset }}-build
cmake-preset: ${{ matrix.preset }}
cmake-args: -DBUILD_TESTING=ON
install:
uses: ./.github/workflows/install.yml
needs: [builds, get]
with:
image: ${{ needs.get.outputs.image }}
artifact-name: release-build
tests:
strategy:
fail-fast: false
matrix:
preset: [gcc-cov, release]
uses: ./.github/workflows/test.yml
needs: [builds, get]
secrets: inherit
with:
image: ${{ needs.get.outputs.image }}
artifact-prefix: ${{ matrix.preset }}
coverage: ${{ matrix.preset == 'gcc-cov' }}
# Following tests are currently disabled on CI:
# * lockscreen, modifier-only-shortcut: flaky on CI because the lockscreen greeter process likes to
# freeze off. Also see: https://bugreports.qt.io/browse/QTBUG-82911
# * all others: the GLES2 backend of wlroots can't be run in CI/without GPU at the moment,
# see https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2871
ctest-args:
"-E 'lockscreen|modifier only shortcut|no crash empty deco|no crash no border\
|scene opengl|opengl shadow|no crash reinit compositor|buffer size change\
|no crash aurorae destroy deco|slidingpopups|scripted effects|window open close animation\
|subspace switching animation|minimize animation'"
clang-tidy:
uses: ./.github/workflows/clang-tidy.yml
needs: [clang-build, get]
with:
image: ${{ needs.get.outputs.image }}
artifact-name: clang-build
package:
uses: ./.github/workflows/package.yml
needs: [builds, get]
with:
image: ${{ needs.get.outputs.image }}
artifact-name: release-build
package-name: como