build: create release 0.2.0 #70
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |