Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
7411833
update version
f-peverali Jan 14, 2026
27e49aa
init IG Organspendetektion (#937)
f-peverali Jan 15, 2026
e75ba3a
Update Stufe-6 (#975)
jschoen-gefyra Jan 19, 2026
86f3c1c
rm icon
f-peverali Jan 21, 2026
8445138
patches to version+naming Organ
f-peverali Jan 21, 2026
aefa79a
Merge branch 'main-stufe-6' of https://github.com/gematik/spec-ISiK-B…
f-peverali Jan 21, 2026
4405962
fix ig ref
f-peverali Jan 21, 2026
93bff76
feat: enhance IG publisher workflow with parallel builds and resource…
patrick-werner Jan 22, 2026
616b42d
feat: update IG publisher workflow to include SUSHI execution and reo…
patrick-werner Jan 22, 2026
f1f6949
feat: update IG publisher matrix to include Organspendeerkennung and …
patrick-werner Jan 22, 2026
8381b1a
chore: update expanded CapabilityStatement resources for all IGs [ski…
github-actions[bot] Jan 22, 2026
a4cae84
feat: update IG publisher matrix to support multiple CapabilityStatem…
patrick-werner Jan 22, 2026
4738c13
Merge remote-tracking branch 'origin/stufe-6/alle/feat/ig-publisher-m…
patrick-werner Jan 22, 2026
e3afe11
feat: refactor IG publisher to process CapabilityStatement URLs in JS…
patrick-werner Jan 22, 2026
c502330
feat: update IG publisher to process CapabilityStatement URLs using P…
patrick-werner Jan 22, 2026
e40b1f6
feat: update IG publisher to parse CapabilityStatement URLs using JSO…
patrick-werner Jan 22, 2026
8ee4258
feat: update IG publisher to expand CapabilityStatements using a GitH…
patrick-werner Jan 23, 2026
7f6bedf
feat: enhance IG publisher configuration with matrix build instructio…
patrick-werner Jan 23, 2026
4293810
feat: enhance IG publisher workflow with force build option and impro…
patrick-werner Jan 23, 2026
e1ba7ee
feat: update IG publisher workflow to use bash shell for improved scr…
patrick-werner Jan 23, 2026
60c53d1
fix: build git diff
patrick-werner Jan 23, 2026
3828bf7
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 23, 2026
4e87e45
feat: enhance cleanup and IG publisher workflows with improved loggin…
patrick-werner Jan 23, 2026
b30cfd6
Merge remote-tracking branch 'origin/stufe-6/alle/feat/ig-publisher-m…
patrick-werner Jan 23, 2026
8c73d48
feat: improve IG publisher workflow by removing debug logging and enh…
patrick-werner Jan 23, 2026
b5c7599
feat: enhance IG publisher workflow by improving change detection wit…
patrick-werner Jan 23, 2026
0de59f2
testing change detection
patrick-werner Jan 23, 2026
6478fe0
auto-generated FHIR files by GitHub Actions (CI FSH to FHIR Validation)
patrick-werner Jan 23, 2026
aebdbfa
feat: enhance IG publisher workflow by improving change detection and…
patrick-werner Jan 23, 2026
90ca751
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 23, 2026
b66a324
minor change to test pipeline
patrick-werner Jan 23, 2026
d1f61b1
Merge remote-tracking branch 'origin/stufe-6/alle/feat/ig-publisher-m…
patrick-werner Jan 23, 2026
a37fb62
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 23, 2026
e056d0c
feat: improve change detection in IG publisher by enhancing status ch…
patrick-werner Jan 23, 2026
445bec8
Merge remote-tracking branch 'origin/stufe-6/alle/feat/ig-publisher-m…
patrick-werner Jan 23, 2026
721779d
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 23, 2026
55c6752
feat: fix git ownership issue and improve change detection output in …
patrick-werner Jan 23, 2026
1c85ce1
Merge remote-tracking branch 'origin/stufe-6/alle/feat/ig-publisher-m…
patrick-werner Jan 23, 2026
e8ba523
feat: enhance IG publisher comment handling by deleting existing comm…
patrick-werner Jan 23, 2026
3957d03
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 23, 2026
622fd7f
feat: add concurrency control to IG publisher workflows and improve g…
patrick-werner Jan 23, 2026
e06b38c
feat: update IG publisher workflow triggers to run on pull requests a…
patrick-werner Jan 23, 2026
f91c400
test
patrick-werner Jan 23, 2026
8177368
test
patrick-werner Jan 23, 2026
e1b0cd0
auto-generated FHIR files by GitHub Actions (CI FSH to FHIR Validation)
patrick-werner Jan 23, 2026
d4ec184
feat: deactivate redundant commit step in IG publisher workflow for b…
patrick-werner Jan 26, 2026
1c74575
feat: update IG publisher workflows to support pull requests and impr…
patrick-werner Jan 26, 2026
5c6010d
feat: enhance IG publisher workflow to preserve previous URLs for pul…
patrick-werner Jan 26, 2026
ac11ddc
test
patrick-werner Jan 26, 2026
812ea79
test
patrick-werner Jan 26, 2026
1673cbe
ini ig icu migration
f-peverali Jan 26, 2026
bbe050a
update pages content
f-peverali Jan 26, 2026
9568599
update ig generation parameters
f-peverali Jan 26, 2026
a5399ad
Merge pull request #978 from gematik/stufe-6/alle/feat/ig-publisher-m…
jschoen-gefyra Jan 26, 2026
1c22b69
chore: clean up IG publisher workflow and improve resource handling
patrick-werner Jan 26, 2026
6ac4e66
chore: modularize IG publisher workflow logic into standalone scripts…
patrick-werner Jan 26, 2026
5b8be58
testbuild
patrick-werner Jan 26, 2026
7921758
testbuild
patrick-werner Jan 26, 2026
9d47479
testbuild
patrick-werner Jan 26, 2026
fce0100
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 26, 2026
1a666f8
update artifacts and add generator.html
f-peverali Jan 27, 2026
2bfb3a6
Merge remote-tracking branch 'origin/main-stufe-6' into stufe-6/icu/m…
f-peverali Jan 27, 2026
0d8951c
testbuild
patrick-werner Jan 27, 2026
84a4d47
update action
f-peverali Jan 27, 2026
3254c94
Merge remote-tracking branch 'origin/stufe-6/alle/feat/improve-ig-bui…
patrick-werner Jan 27, 2026
80eebc7
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 27, 2026
9ad7e54
chore: add retry mechanism for publishing to gh-pages in IG publisher…
patrick-werner Jan 27, 2026
d4c3503
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 27, 2026
367a6e4
chore: update branch handling logic in cleanup workflow to support br…
patrick-werner Jan 28, 2026
a5ee966
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 28, 2026
b101c52
chore: add cleanup step for expanded resources directory in IG publis…
patrick-werner Jan 28, 2026
136bddf
Merge remote-tracking branch 'origin/stufe-6/alle/feat/improve-ig-bui…
patrick-werner Jan 28, 2026
14888db
Merge branch 'stufe-6/alle/feat/improve-ig-build' into stufe-6/icu/mi…
patrick-werner Jan 28, 2026
295f6d6
chore: removed cleanup step, cleanup included in expansion action now
patrick-werner Jan 28, 2026
27afbac
Merge branch 'stufe-6/alle/feat/improve-ig-build' into stufe-6/icu/mi…
patrick-werner Jan 28, 2026
7217997
chore: add import expectation filter to IG publisher workflow
patrick-werner Jan 28, 2026
36315de
Merge branch 'stufe-6/alle/feat/improve-ig-build' into stufe-6/icu/mi…
patrick-werner Jan 28, 2026
87cba62
testing
patrick-werner Jan 28, 2026
4a4adf9
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 28, 2026
510264a
testing successful
patrick-werner Jan 28, 2026
c0c9dcc
Merge remote-tracking branch 'origin/stufe-6/alle/feat/improve-ig-bui…
patrick-werner Jan 28, 2026
4be395d
Merge branch 'stufe-6/alle/feat/improve-ig-build' into stufe-6/icu/mi…
patrick-werner Jan 28, 2026
5a6b9fc
chore: update SUSHI-generated artifacts and expanded resources for al…
github-actions[bot] Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
116 changes: 116 additions & 0 deletions .github/workflows/ToolUpdate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: Update Dependency

on:
workflow_dispatch: # Allows manual trigger
schedule:
- cron: '0 0 * * *' # Runs at 00:00 UTC every day

permissions:
contents: write
pull-requests: write
actions: write

jobs:
update-dependency:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.WORKFLOW_PERMISSION_GITHUB }}
ref: 'main-stufe-5'

- name: Set up jq
run: sudo apt-get install jq

- name: Fetch latest version of firely terminal dependency
id: fetch_version_firely
run: |
# Fetch the latest version from the FirelyTeam/firely-terminal-pipeline GitHub repository
LATEST_VERSION_FIRELY=$(curl -s https://api.github.com/repos/FirelyTeam/firely-terminal-pipeline/releases/latest | jq -r .tag_name)
echo "LATEST_VERSION_FIRELY=$LATEST_VERSION_FIRELY" >> $GITHUB_ENV
echo $LATEST_VERSION_FIRELY

- name: Fetch latest version of Sushi dependency
id: fetch_version_sushi
run: |
# Fetch the latest version from the fhir/sushi GitHub repository
LATEST_VERSION_SUSHI=$(curl -s https://api.github.com/repos/FHIR/sushi/releases/latest | jq -r .tag_name | sed 's/^v//')
echo "LATEST_VERSION_SUSHI=$LATEST_VERSION_SUSHI" >> $GITHUB_ENV
echo $LATEST_VERSION_SUSHI

- name: Check if Firely version is up-to-date
id: check_firely_version
run: |
CURRENT_VERSION_FIRELY=$(grep -oP 'FirelyTeam/firely-terminal-pipeline@\K[^"]+' .github/workflows/main.yml)
if [ "$CURRENT_VERSION_FIRELY" = "$LATEST_VERSION_FIRELY" ]; then
echo "Firely version is up-to-date"
echo "UPDATE_NEEDED=false" >> $GITHUB_ENV
else
echo "UPDATE_NEEDED=true" >> $GITHUB_ENV
fi

- name: Check if Sushi version is up-to-date
id: check_sushi_version
run: |
CURRENT_VERSION_SUSHI=$(grep -oP 'SUSHI_VERSION: \K[^"]+' .github/workflows/main.yml || true)
UPDATE_NEEDED_STATE="${UPDATE_NEEDED:-false}"

if [ -z "$CURRENT_VERSION_SUSHI" ]; then
echo "Could not detect current Sushi version from workflow file."
echo "UPDATE_NEEDED=$UPDATE_NEEDED_STATE" >> $GITHUB_ENV
elif [ "$CURRENT_VERSION_SUSHI" = "$LATEST_VERSION_SUSHI" ]; then
echo "Sushi version is up-to-date"
echo "UPDATE_NEEDED=false" >> $GITHUB_ENV
else
echo "Sushi version is outdated"
echo "UPDATE_NEEDED=true" >> $GITHUB_ENV
fi

- name: Update main.yml for Firely and Sushi # Stop if no update is needed;
run: |
if [[ "$UPDATE_NEEDED" == "false" ]]; then
echo "No update needed. Exiting."
exit 0
fi
# Update the main.yml file with the new versions of Firely and Sushi
sed -i "s|uses: FirelyTeam/firely-terminal-pipeline@.*|uses: FirelyTeam/firely-terminal-pipeline@$LATEST_VERSION_FIRELY|" .github/workflows/main.yml
sed -i "s|SUSHI_VERSION: .*|SUSHI_VERSION: $LATEST_VERSION_SUSHI|" .github/workflows/main.yml

# Commit the changes
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git checkout -b update-dependency-${LATEST_VERSION_FIRELY}-${LATEST_VERSION_SUSHI} || git checkout update-dependency-${LATEST_VERSION_FIRELY}-${LATEST_VERSION_SUSHI}
git add .github/workflows/main.yml
git commit -m "Update dependencies to versions Firely: ${LATEST_VERSION_FIRELY}, Sushi: ${LATEST_VERSION_SUSHI}"
git push https://x-access-token:${{ secrets.WORKFLOW_PERMISSION_GITHUB }}@github.com/${{ github.repository }}.git update-dependency-${LATEST_VERSION_FIRELY}-${LATEST_VERSION_SUSHI}

- name: Create Pull Request
uses: actions/github-script@v7
with:
github-token: ${{ secrets.WORKFLOW_PERMISSION_GITHUB }}
script: |
const latestVersionFirely = process.env.LATEST_VERSION_FIRELY;
const latestVersionSushi = process.env.LATEST_VERSION_SUSHI;
const updateNeeded = process.env.UPDATE_NEEDED;
if (updateNeeded === 'false') {
console.log('No update needed. Exiting.');
return;
}
if (!latestVersionFirely || !latestVersionSushi) {
throw new Error('Versions are not defined');
}
const prTitle = `Update dependencies to versions Firely: ${latestVersionFirely}, Sushi: ${latestVersionSushi}`;
const prHead = `update-dependency-${latestVersionFirely}-${latestVersionSushi}`;
const prBody = `This PR updates the dependencies to versions Firely: ${latestVersionFirely} and Sushi: ${latestVersionSushi}.`;
const { data: pullRequest } = await github.rest.pulls.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: prTitle,
head: prHead,
base: context.ref.replace('refs/heads/', ''),
body: prBody,
maintainer_can_modify: true,
});
console.log(`Created pull request: ${pullRequest.html_url}`);
136 changes: 136 additions & 0 deletions .github/workflows/cleanup-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: Cleanup Branch Pages

on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:

permissions:
contents: write

jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Check gh-pages branch
id: gh-pages
uses: actions/github-script@v7
with:
script: |
try {
await github.rest.repos.getBranch({
owner: context.repo.owner,
repo: context.repo.repo,
branch: 'gh-pages',
});
core.setOutput('exists', 'true');
} catch (error) {
if (error.status === 404) {
core.warning('gh-pages branch does not exist yet. Nothing to clean.');
core.setOutput('exists', 'false');
} else {
throw error;
}
}

- name: Checkout gh-pages
if: steps.gh-pages.outputs.exists == 'true'
uses: actions/checkout@v4
with:
ref: gh-pages
fetch-depth: 0

- name: Prune deleted branch directories
if: steps.gh-pages.outputs.exists == 'true'
shell: bash
env:
REPO: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_AUTHOR_NAME: github-actions[bot]
GIT_AUTHOR_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com
GIT_COMMITTER_NAME: github-actions[bot]
GIT_COMMITTER_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com
run: |
set -euo pipefail

if [ -z "$(git ls-files)" ]; then
echo "gh-pages branch is empty. Nothing to clean."
exit 0
fi

git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${REPO}.git"

shopt -s globstar nullglob
removed=0
declare -A checked_branches

echo "=== Scanning for branch directories with .branch-name markers ==="
echo "Expected structure: {branch_name}/{ig_name}/.branch-name"

for metadata in **/.branch-name; do
branch=$(cat "$metadata" | tr -d '\r')
dir=$(dirname "$metadata")
dir_no_prefix=${dir#./}

# Use full branch name from marker to support branch names with slashes
# Structure is: branch_name/ig_name/.branch-name
branch_dir="$branch"

if [ -z "$branch" ]; then
echo "⚠️ Skipping $dir because branch marker is empty."
continue
fi

# Skip protected directories (IG/ is the production directory)
if [ -z "$dir_no_prefix" ] || [ "$dir_no_prefix" = "." ] || [ "$dir_no_prefix" = "IG" ] || [[ "$dir_no_prefix" == IG/* ]]; then
echo "🔒 Preserving $dir (protected directory)"
continue
fi

# Check if we already processed this branch directory
if [ -n "${checked_branches[$branch_dir]+x}" ]; then
echo "ℹ️ Already checked branch directory '$branch_dir', skipping $dir"
continue
fi

checked_branches[$branch_dir]=1

echo "📂 Found branch directory: '$branch_dir/' (from marker in $dir_no_prefix)"
echo " Branch name from marker: '$branch'"

# Check if the branch still exists remotely
if git ls-remote --heads origin "$branch" | grep -q "."; then
echo " ✅ Branch '$branch' still exists -> keeping directory '$branch_dir/'"
continue
fi

# Branch deleted -> remove entire branch directory (all IGs under this branch)
echo " 🗑️ Branch '$branch' deleted -> removing entire directory '$branch_dir/' (all IGs)"
rm -rf "$branch_dir"
removed=1
done

if [ "$removed" -eq 0 ]; then
echo ""
echo "✨ No stale branch directories found. gh-pages is clean."
exit 0
fi

echo ""
echo "🧹 Cleaning up empty directories..."
find . -mindepth 1 -type d -empty ! -path './IG' ! -path './IG/*' -delete

git add --all
if git diff --cached --quiet; then
echo ""
echo "ℹ️ No changes to commit after cleanup."
exit 0
fi

echo ""
echo "💾 Committing cleanup changes..."
git commit -m "chore: remove gh-pages directories for deleted branches"
git push origin gh-pages

echo ""
echo "✅ Cleanup completed successfully!"
Loading