Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
f40c84c
Parent workflow to trigger non trudag workflows
Erikhu1 Jul 31, 2025
61d01f9
Add completion artifacts from child workflows
Erikhu1 Aug 1, 2025
0eb5cbe
Pass parent SHA to child workflows
Erikhu1 Aug 1, 2025
c1b948f
unique directories
Erikhu1 Aug 1, 2025
efc057e
Add CIFuzz to parent workflow
Erikhu1 Aug 1, 2025
1366818
Merge branch 'main' into main
Erikhu1 Aug 4, 2025
04db4c8
Merge branch 'main' into main
Erikhu1 Aug 4, 2025
18bab1f
fix typo
Erikhu1 Aug 4, 2025
09f264e
dynamic workflow triggers
Erikhu1 Aug 4, 2025
14bb822
add codeql
Erikhu1 Aug 4, 2025
f06b7b7
test
Erikhu1 Aug 4, 2025
e1f6b29
test
Erikhu1 Aug 4, 2025
8afabdf
test needs command
Erikhu1 Aug 4, 2025
a260ee9
fix parent
Erikhu1 Aug 4, 2025
5a4360c
disable ubuntu
Erikhu1 Aug 4, 2025
2de1611
fix error
Erikhu1 Aug 4, 2025
0e139df
fix error
Erikhu1 Aug 4, 2025
330d98c
fix error
Erikhu1 Aug 4, 2025
d1e4a09
fix error
Erikhu1 Aug 4, 2025
0a9ffff
fix error
Erikhu1 Aug 4, 2025
4706a91
fix error
Erikhu1 Aug 4, 2025
16ae08f
fix errors
Erikhu1 Aug 4, 2025
fee238f
fix errors
Erikhu1 Aug 4, 2025
5b49050
add test_trudag_extensions
Erikhu1 Aug 4, 2025
451cd4b
add test_trudag_extensions
Erikhu1 Aug 4, 2025
02e0e9b
dynamic code
Erikhu1 Aug 4, 2025
8f033d3
dynamic code
Erikhu1 Aug 4, 2025
8b5d9ee
dynamic code
Erikhu1 Aug 4, 2025
8fd6d0a
fix dynamic code#
Erikhu1 Aug 4, 2025
bf9ef60
fix error
Erikhu1 Aug 4, 2025
66110b1
fix error
Erikhu1 Aug 4, 2025
680efaa
fix error
Erikhu1 Aug 4, 2025
4b3a892
use matrix
Erikhu1 Aug 4, 2025
71731a3
use matrix
Erikhu1 Aug 4, 2025
6bedf2d
fix error
Erikhu1 Aug 4, 2025
34275d0
fix error
Erikhu1 Aug 4, 2025
0016fa0
fix error
Erikhu1 Aug 4, 2025
512bd20
fix error
Erikhu1 Aug 4, 2025
56f91ff
matrix method
Erikhu1 Aug 5, 2025
5a8d85a
fix error
Erikhu1 Aug 5, 2025
4933a98
fix error
Erikhu1 Aug 5, 2025
9a6baef
fix errors
Erikhu1 Aug 5, 2025
c2faa0d
fix errors
Erikhu1 Aug 5, 2025
131615d
fix errors
Erikhu1 Aug 5, 2025
1ea53ea
fix errors
Erikhu1 Aug 5, 2025
172a58b
fix errors
Erikhu1 Aug 5, 2025
da6a8d2
fix errors
Erikhu1 Aug 5, 2025
d1300cb
fix errors
Erikhu1 Aug 5, 2025
7ac7d64
fix errors
Erikhu1 Aug 5, 2025
e3c0a6e
fix errors
Erikhu1 Aug 5, 2025
1755c2a
fix errors
Erikhu1 Aug 5, 2025
7e7e7db
fix errors
Erikhu1 Aug 5, 2025
b7f74b4
fix errors
Erikhu1 Aug 5, 2025
0904976
fix errors
Erikhu1 Aug 5, 2025
56759fa
fix errors
Erikhu1 Aug 5, 2025
90e3616
fix errors
Erikhu1 Aug 5, 2025
21be299
fix errors
Erikhu1 Aug 5, 2025
f7034da
fix errors
Erikhu1 Aug 5, 2025
129293c
fix errors
Erikhu1 Aug 5, 2025
73ab5a7
fix errors
Erikhu1 Aug 5, 2025
3317b21
fix errors
Erikhu1 Aug 5, 2025
5a1a268
fix errors
Erikhu1 Aug 5, 2025
3aa9a53
fix errors
Erikhu1 Aug 5, 2025
a9816ae
fix errors
Erikhu1 Aug 5, 2025
93dc263
fix errors
Erikhu1 Aug 5, 2025
c2d5fee
fix errors
Erikhu1 Aug 5, 2025
652d825
fix errors
Erikhu1 Aug 5, 2025
34c7cce
fix errors
Erikhu1 Aug 5, 2025
a2566fd
fix errors
Erikhu1 Aug 5, 2025
d65355f
fix errors
Erikhu1 Aug 5, 2025
279a299
fix errors
Erikhu1 Aug 5, 2025
375597e
fix errors
Erikhu1 Aug 5, 2025
5201603
fix errors
Erikhu1 Aug 5, 2025
94f5334
fix errors
Erikhu1 Aug 5, 2025
891074b
fix errors
Erikhu1 Aug 5, 2025
68a33cd
fix errors
Erikhu1 Aug 5, 2025
f8eda05
fix errors
Erikhu1 Aug 5, 2025
ce683cb
fix errors
Erikhu1 Aug 5, 2025
f0a34d8
fix errors
Erikhu1 Aug 5, 2025
5d04c23
fix errors
Erikhu1 Aug 5, 2025
d508e1a
fix errors
Erikhu1 Aug 5, 2025
be3f5a1
fix errors
Erikhu1 Aug 5, 2025
839cfc2
fix error
Erikhu1 Aug 5, 2025
d9c5706
fix error
Erikhu1 Aug 5, 2025
405f211
fix cifuzz
Erikhu1 Aug 5, 2025
16d7b43
test
Erikhu1 Aug 5, 2025
22eaf83
Fix title underline length
Erikhu1 Aug 5, 2025
7138db3
Merge pull request #35 from Erikhu1/needs_method
Erikhu1 Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion .github/workflows/check_amalgamation.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
name: "Check amalgamation"

on:
pull_request:
workflow_call:
inputs:
artifact_id:
description: 'Unique identifier for artifacts'
required: true
type: string

permissions:
contents: read
Expand Down Expand Up @@ -74,3 +79,15 @@ jobs:
${{ github.workspace }}/venv/bin/astyle --project=tools/astyle/.astylerc --suffix=orig $(find docs/examples include tests -type f \( -name '*.hpp' -o -name '*.cpp' -o -name '*.cu' \) -not -path 'tests/thirdparty/*' -not -path 'tests/abi/include/nlohmann/*' | sort)
echo Check
find $MAIN_DIR -name '*.orig' -exec false {} \+

- name: Generate amalgamation artifact
run: |
echo "Generating amalgamation artifact..."
mkdir -p check_amalgamation
echo "Amalgamation processed for ${{ inputs.artifact_id }}" > check_amalgamation/check_amalgamation.txt

- name: Upload amalgamation artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact_id }}
path: check_amalgamation/
77 changes: 51 additions & 26 deletions .github/workflows/cifuzz.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: CIFuzz
on: [pull_request]

on:
workflow_call:
inputs:
artifact_id:
description: 'Unique identifier for artifacts'
required: true
type: string

permissions:
contents: read
Expand All @@ -8,28 +15,46 @@ jobs:
Fuzzing:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
with:
egress-policy: audit

- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@57fe4475324c5506adbfecdcdd2917f65c86ee9e # master
with:
oss-fuzz-project-name: 'json'
dry-run: false
language: c++
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@57fe4475324c5506adbfecdcdd2917f65c86ee9e # master
with:
oss-fuzz-project-name: 'json'
fuzz-seconds: 300
dry-run: false
language: c++
- name: Upload Crash
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Harden Runner
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
with:
egress-policy: audit

- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@57fe4475324c5506adbfecdcdd2917f65c86ee9e
with:
oss-fuzz-project-name: 'json'
dry-run: false
language: c++

- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@57fe4475324c5506adbfecdcdd2917f65c86ee9e # master
with:
oss-fuzz-project-name: 'json'
fuzz-seconds: 300
dry-run: false
language: c++

- name: Upload Crash
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts

- name: Generate cifuzz artifact
run: |
echo "Generating cifuzz artifact..."
mkdir -p cifuzz
echo "cifuzz processed for ${{ inputs.artifact_id }}" > cifuzz/cifuzz.txt

- name: Upload cifuzz artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact_id }}
path: cifuzz/
30 changes: 24 additions & 6 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
name: "Code scanning - action"

on:
push:
branches:
- develop
- main
- release/*
pull_request:
# push:
# branches:
# - develop
# - main
# - release/*
workflow_call:
inputs:
artifact_id:
description: 'Unique identifier for artifacts'
required: true
type: string
schedule:
- cron: '0 19 * * 1'
workflow_dispatch:
Expand All @@ -17,6 +22,7 @@ concurrency:

permissions:
contents: read


jobs:
CodeQL-Build:
Expand Down Expand Up @@ -47,3 +53,15 @@ jobs:

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@fc7e4a0fa01c3cca5fd6a1fddec5c0740c977aa2 # v3.28.14

- name: Generate codeql artifact
run: |
echo "Generating codeql artifact..."
mkdir -p codeql
echo "codeql processed for ${{ inputs.artifact_id }}" > codeql/codeql.txt

- name: Upload codeql artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact_id }}
path: codeql/
22 changes: 21 additions & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@
#
# Source repository: https://github.com/actions/dependency-review-action
name: 'Dependency Review'
on: [pull_request]
on:
workflow_call:
inputs:
artifact_id:
description: 'Unique identifier for artifacts'
required: true
type: string


permissions:
contents: read
Expand All @@ -25,3 +32,16 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Dependency Review'
uses: actions/dependency-review-action@ce3cf9537a52e8119d91fd484ab5b8a807627bf8 # v4.6.0


- name: Generate dependency_review artifact
run: |
echo "Generating Dependency Review artifact..."
mkdir -p dependency_review
echo "dependency review processed for ${{ inputs.artifact_id }}" > dependency_review/dependency_review.txt

- name: Upload dependency_review artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact_id }}
path: dependency_review/
20 changes: 18 additions & 2 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
name: "Pull Request Labeler"

on:
pull_request_target:
types: [opened, synchronize]
workflow_call:
inputs:
artifact_id:
description: 'Unique identifier for artifacts'
required: true
type: string

permissions:
contents: read
Expand All @@ -24,3 +28,15 @@ jobs:
- uses: srvaroa/labeler@e216fb40e2e6d3b17d90fb1d950f98bee92f65ce # master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

- name: Generate label artifact
run: |
echo "Generating label artifact..."
mkdir -p labeler
echo "Labels processed for ${{ inputs.artifact_id }}" > labeler/labeler.txt

- name: Upload label artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact_id }}
path: labeler/
98 changes: 98 additions & 0 deletions .github/workflows/parent-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Parent Workflow

on:
pull_request:
#push:
# branches:
# - develop
# - main

permissions:
contents: write
pages: write
pull-requests: write
id-token: write
security-events: write

jobs:
labeler:
name: Run Labeler Workflow
uses: ./.github/workflows/labeler.yml
with:
artifact_id: "labeler-${{ github.sha }}"

check_amalgamation:
name: Run Amalgamation Workflow
uses: ./.github/workflows/check_amalgamation.yml
with:
artifact_id: "check_amalgamation-${{ github.sha }}"

test_trudag_extensions:
name: Run Test Trudag Extensions Workflow
uses: ./.github/workflows/test_trudag_extensions.yml
with:
artifact_id: "test_trudag_extensions-${{ github.sha }}"

cifuzz:
name: Run CIFuzz Workflow
uses: ./.github/workflows/cifuzz.yml
with:
artifact_id: "cifuzz-${{ github.sha }}"

codeql:
name: Run Codeql analysis Workflow
uses: ./.github/workflows/codeql-analysis.yml
with:
artifact_id: "codeql-${{ github.sha }}"

#ubuntu:
#name: Run Ubuntu Workflow
#uses: ./.github/workflows/ubuntu.yml
#with:
# artifact_id: "ubuntu-${{ github.sha }}"

dependency_review:
name: Run dependency_review Workflow
uses: ./.github/workflows/dependency-review.yml
with:
artifact_id: "dependency_review-${{ github.sha }}"


collect-and-deploy:
name: "Collect Results & Deploy"
needs: [labeler, check_amalgamation, test_trudag_extensions, codeql, cifuzz, dependency_review]
runs-on: ubuntu-latest
if: always() # Run even if some jobs fail
strategy:
matrix:
target: [labeler, check_amalgamation, test_trudag_extensions, codeql, cifuzz, dependency_review ]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Check child workflow results
run: |
echo "=== Checking Child Workflow Results ==="
result="${{ needs[matrix.target].result }}"
echo "${{ matrix.target }} workflow result: $result"

if [[ "$result" != "success" ]]; then
echo "❌ ${{ matrix.target }} workflow failed! Exiting..."
exit 1
fi
echo "✅ Child workflows completed successfully!"
env:
current_workflow: ${{ matrix.target }}

- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: "${{ matrix.target }}-${{ github.sha }}"
path: artifacts/

- name: Deployment simulation
run: |
echo "🚀 Simulating deployment..."
sleep 2
echo "✅ Deployment completed successfully!"
14 changes: 6 additions & 8 deletions .github/workflows/publish_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,11 @@ permissions:
id-token: write

on:
pull_request_target:
types: [opened, reopened, synchronize] # Allows forks to trigger the docs build
push:
branches:
- main
merge_group:
types: [checks_requested]
workflow_run:
workflows:
- "Parent Workflow"
types:
- completed

jobs:
run-trudag:
Expand All @@ -40,7 +38,6 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
Expand All @@ -51,6 +48,7 @@ jobs:
sudo apt-get update
sudo apt-get install -y graphviz
pip install trustable --index-url https://gitlab.com/api/v4/projects/66600816/packages/pypi/simple


- name: Generate trudag report
run: |
Expand Down
Loading
Loading