Skip to content

Commit 2042ba1

Browse files
committed
feat: compliance hardening for EU grant readiness
LICENSE & detection: - Replace abbreviated LICENSE with full EUPL-1.2 text (fixes GitHub 'Unknown') - Replace LICENSE-DATA stub with full CC-BY-4.0 legal code - Update LICENSES/ directory with full texts + CC-BY-4.0.txt REUSE.toml license model fix: - Code/tooling: EUPL-1.2 - Graph data, vocabs, schemas, docs, exports: CC-BY-4.0 - Source assertions: EUPL-1.2 - Gov HTML snapshots: LicenseRef-Gov-PublicDomain (generic, multi-jurisdiction) - 321/321 files pass reuse lint New compliance artifacts: - CITATION.cff for GitHub 'Cite this repository' widget - sonar-project.properties for SonarCloud analysis - .github/workflows/sonar.yml (SonarCloud CI) - .github/workflows/sqaaas.yml (EOSC-Synergy SQAaaS assessment) Coverage reporting: - Add @vitest/coverage-v8 + test:coverage script - Add lcov/json-summary reporters to vitest.config.ts - Update ci.yml: run coverage + upload to Codecov README: add Codecov and SonarCloud badges
1 parent 9529ae7 commit 2042ba1

16 files changed

Lines changed: 1709 additions & 63 deletions

.github/workflows/ci.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,15 @@ jobs:
3333
- name: Lint (ESLint)
3434
run: pnpm lint
3535

36-
- name: Unit tests
37-
run: pnpm test
36+
- name: Unit tests with coverage
37+
run: pnpm test:coverage
38+
39+
- name: Upload coverage to Codecov
40+
uses: codecov/codecov-action@v5
41+
with:
42+
token: ${{ secrets.CODECOV_TOKEN }}
43+
files: ./coverage/lcov.info
44+
fail_ci_if_error: false
3845

3946
validate-graph:
4047
name: Validate graph data

.github/workflows/sonar.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-FileCopyrightText: 2025-2026 CLARVIA ASBL, Luxembourg
2+
# SPDX-License-Identifier: EUPL-1.2
3+
4+
name: SonarCloud
5+
6+
on:
7+
push:
8+
branches: [main]
9+
pull_request:
10+
types: [opened, synchronize, reopened]
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
sonarcloud:
17+
name: SonarCloud Analysis
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v6
22+
with:
23+
fetch-depth: 0
24+
25+
- uses: pnpm/action-setup@v6
26+
27+
- uses: actions/setup-node@v6
28+
with:
29+
node-version-file: ".node-version"
30+
cache: "pnpm"
31+
32+
- name: Install dependencies
33+
run: pnpm install --frozen-lockfile
34+
35+
- name: Run tests with coverage
36+
run: pnpm test:coverage
37+
38+
- name: SonarQube Scan
39+
uses: SonarSource/sonarqube-scan-action@v5
40+
env:
41+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

.github/workflows/sqaaas.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-FileCopyrightText: 2025-2026 CLARVIA ASBL, Luxembourg
2+
# SPDX-License-Identifier: EUPL-1.2
3+
4+
name: SQAaaS Assessment
5+
6+
on:
7+
push:
8+
branches: [main]
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
sqaaas:
16+
name: SQAaaS Quality Assessment
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- uses: actions/checkout@v6
21+
22+
- name: SQAaaS Assessment
23+
uses: EOSC-synergy/sqaaas-assessment-action@v2
24+
with:
25+
repo: "https://github.com/clarvia-org/clarvia-graph"
26+
branch: "main"

CITATION.cff

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
title: "Clarvia Graph: Open Consequence Graph for Bereavement Administration"
4+
type: software
5+
version: 0.1.0-alpha.0
6+
doi: 10.5281/zenodo.20572455
7+
date-released: "2026-06-06"
8+
license: EUPL-1.2
9+
url: "https://clarvia.org"
10+
repository-code: "https://github.com/clarvia-org/clarvia-graph"
11+
abstract: >-
12+
An open, source-backed consequence graph modelling administrative workflows
13+
triggered by bereavement across European jurisdictions. Maps official
14+
government sources to structured tasks, deadlines, conditions, and evidence
15+
requirements. Aligned with CPSV-AP, CCCEV, ELI, and PROV-O.
16+
authors:
17+
- family-names: "Lindfors"
18+
given-names: "Tommi"
19+
affiliation: "CLARVIA ASBL, Luxembourg"
20+
keywords:
21+
- bereavement
22+
- administrative workflows
23+
- knowledge graph
24+
- consequence graph
25+
- legal ontology
26+
- public services
27+
- cross-border
28+
- Luxembourg
29+
- CPSV-AP
30+
- CCCEV
31+
- ELI
32+
- PROV-O
33+
- civic tech
34+
- open data

0 commit comments

Comments
 (0)