Skip to content

refactor(core): coalesce some common methods in components #2690

refactor(core): coalesce some common methods in components

refactor(core): coalesce some common methods in components #2690

Workflow file for this run

name: Continuous Integration
on:
pull_request:
permissions:
contents: read
jobs:
cspell:
name: CSpell
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Spell Check
uses: streetsidesoftware/cspell-action@v6
commitlint:
name: Commitlint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Lint
uses: wagoid/commitlint-github-action@v6
reuse:
name: REUSE Compliance
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Lint
uses: fsfe/reuse-action@v5
with:
args: lint
translations:
name: Translations
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check
run: |
./tests/extra/potfiles-check.sh
pre-test:
name: Pre-Tests
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: false
- name: ShellCheck
if: ${{ always() }}
uses: reviewdog/action-shellcheck@v1
with:
reporter: github-pr-review
fail_on_error: true
build:
name: Build (Documentation)
needs: [pre-test]
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository }}:${{ github.base_ref }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Build
run: |
meson setup --buildtype=release \
-Ddocumentation=true \
_build
meson compile -C _build
- name: Upload
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: Documentation
path: _build/doc/sdk/valent
analyze:
name: Static Analysis
needs: [pre-test]
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository }}:${{ github.base_ref }}
strategy:
matrix:
suite: [abidiff, cppcheck]
include:
- suite: abidiff
setup-args: |
-Dintrospection=false
-Dplugins=false
- suite: cppcheck
setup-args: |
-Dintrospection=false
-Dtests=true
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Analyze
uses: andyholmes/actuary@main
with:
suite: ${{ matrix.suite }}
setup-args: ${{ matrix.setup-args }}
abidiff-lib: libvalent-1.so
cppcheck-args: |
-Itests/fixtures
--library=tests/extra/cppcheck.cfg
--suppressions-list=tests/extra/cppcheck.supp
cppcheck-path: src
- name: Report
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: Static Analysis (${{ matrix.suite }})
path: _build/meson-logs
test:
name: Tests
needs: [pre-test]
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository }}:${{ github.base_ref }}
strategy:
matrix:
compiler: [gcc, llvm]
suite: [test, asan, tsan, analyzer]
include:
- suite: test
setup-args: |
-Dtests=true
test-args: |
--repeat=3
- suite: asan
setup-args: |
-Dintrospection=false
-Dtests=true
- suite: tsan
setup-args: |
-Dintrospection=false
-Dtests=true
- suite: analyzer
setup-args: |
-Dintrospection=false
-Dtests=true
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Test
id: test
uses: andyholmes/actuary@main
with:
suite: ${{ matrix.suite }}
compiler: ${{ matrix.compiler }}
setup-args: ${{ matrix.setup-args }}
test-args: ${{ matrix.test-args }}
test-coverage: ${{ matrix.compiler == 'gcc' && matrix.suite == 'test' }}
lcov-include: '${{ github.workspace }}/src/*'
- name: Test Report
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: Tests (${{ matrix.compiler }}, ${{ matrix.suite }})
path: ${{ steps.test.outputs.log }}
- name: Coverage Report
if: ${{ matrix.compiler == 'gcc' && matrix.suite == 'test' }}
uses: actions/upload-artifact@v4
with:
name: Tests (coverage)
path: ${{ steps.test.outputs.coverage-html }}
installed-tests:
name: Tests (Installed)
needs: [pre-test]
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository }}:${{ github.base_ref }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Build
run: |
meson setup --buildtype=release \
--prefix=/usr \
-Dtests=true \
-Dfuzz_tests=false \
_build
meson compile -C _build
meson install -C _build
- name: Test
run: |
dbus-run-session \
xvfb-run -d \
gnome-desktop-testing-runner --log-directory=_build/meson-logs \
libvalent-1
- name: Test Report
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: Tests (Installed)
path: _build/meson-logs
flatpak:
name: Tests (Flatpak)
needs: [pre-test]
runs-on: ubuntu-latest
container:
image: ghcr.io/andyholmes/flatter/gnome:47
options: --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Build
uses: andyholmes/flatter@main
with:
files: |
build-aux/flatpak/ca.andyholmes.Valent.json
cache-key: ''
run-tests: true
test-config-opts: |
--buildtype=debugoptimized
-Dtests=true
test-modules: |
ca.andyholmes.Valent.Tests.json
upload-bundles: true
flatpak-unstable:
name: Tests (Flatpak Unstable)
needs: [pre-test]
runs-on: ubuntu-latest
container:
image: ghcr.io/andyholmes/flatter/gnome:master
options: --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Build
uses: andyholmes/flatter@main
with:
files: |
build-aux/flatpak/ca.andyholmes.Valent.Devel.json
cache-key: ''
run-tests: true
upload-bundles: true