Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
ef78c19
IONOS(infra): add IONOS app directory stubs and .gitignore entries
printminion-co Apr 22, 2026
29ebd92
IONOS(custom-npms): add custom npm submodules
printminion-co Apr 22, 2026
12753b2
IONOS(apps): add custom app submodules
printminion-co Apr 22, 2026
b4c6427
IONOS(theme): add nc-ionos-theme
printminion-co Apr 23, 2026
a75f91d
IONOS(apps): add IONOS-forked external apps
printminion-co Apr 23, 2026
9f83dca
IONOS(apps): add original Nextcloud external apps
printminion-co Apr 23, 2026
46aa850
IONOS(config): add IONOS config submodule
printminion-co Apr 22, 2026
3416b37
IONOS(ci): add IONOS build and SBOM workflows
printminion-co Apr 22, 2026
0dff3a5
IONOS(core): add user-agent validation to session and OCS
printminion-co Apr 22, 2026
96ad722
IONOS(files-sharing): provision initial share-acceptance state
printminion-co Apr 22, 2026
3dd53c9
IONOS(files): add SidebarQuota component and wire into navigation
printminion-co Apr 22, 2026
6f92a40
IONOS(nc-vue-icons): adjust folder-{open}-icon size
printminion-co Sep 10, 2024
1e09bcd
IONOS(search): disable person search by default
printminion-co Apr 22, 2026
ec9d0eb
IONOS(files-sharing): confirm before deleting a share
printminion-co Apr 22, 2026
b073a46
IONOS(occ): add redirect config and mask sensitive config values in o…
thlehmann-ionos Jul 5, 2024
096a3c7
IONOS(build): inject build number as 5th version component
printminion-co Apr 7, 2026
7e8bec0
IONOS(files_downloadlimit): update submodule to v33.0.2 (NC32 compati…
printminion-co Apr 23, 2026
ccd580b
IONOS(serverinfo): update submodule to v32.0.8 (NC32 compatible)
printminion-co Apr 23, 2026
2c90ff9
IONOS(groupquota): update submodule to v0.2.4 (NC32 compatible)
printminion-co Apr 23, 2026
1d3c2b8
IONOS(view): update submodule to vanilla v32.0.6 (7f1d8dc) (NC32 comp…
printminion-co Apr 29, 2026
b30911e
IONOS(richdocuments): update submodule to v9.0.6-005602a (NC32 compat…
printminion-co May 6, 2026
f7b657d
IONOS(nc-theming): update submodule to 33.0.0-de7a242 (NC33 compatible)
tanyaka May 7, 2026
14920c1
IONOS(nc-theming): update submodule to 32.0.6-de7a242a06a89f (align v…
tanyaka May 7, 2026
b2f1a81
IONOS(simplesettings): update submodule to v32.0.6-d87bf5b (NC32 comp…
printminion-co May 7, 2026
fe8c785
IONOS(config): update submodule to cce9a71 (remove custom-npm build t…
printminion-co May 7, 2026
a1404a8
IONOS(ci): remove FONTAWESOME_PACKAGE_TOKEN and custom-npm install steps
tanyaka Apr 28, 2026
a13b241
Revert "IONOS(nc-vue-icons): adjust folder-{open}-icon size"
tanyaka May 7, 2026
1bafb90
IONOS(.gitmodules): remove FA custom-npms
tanyaka May 7, 2026
8a84d1a
IONOS(simplesettings): bump submodule to v32.0.6-373db5b (fix lockfil…
printminion-co May 13, 2026
6f2d90a
IONOS(ci): bump submodule — dynamic apps matrix + Makefile quality
printminion-co May 12, 2026
1aee73a
IONOS(ci): add detect-app-cache.sh — per-app JFrog + GitHub cache probe
printminion-co May 12, 2026
162360f
IONOS(ci): add get-job-data composite action
printminion-co May 12, 2026
7dba574
IONOS(ci): introduce prepare-matrix + build-apps parallel pipeline
printminion-co May 12, 2026
21d5be1
IONOS(ci): bump CI action versions
printminion-co May 13, 2026
e2d021f
IONOS(ci): build rc/** + */dev/* branches with restructured JFrog paths
printminion-co May 12, 2026
513ce29
IONOS(ci): gate */dev/* GitLab trigger behind ENABLE_REMOTE_TRIGGER_U…
printminion-co May 19, 2026
c9bc5a9
IONOS(config): update submodule 6dedd72 (fix(workflow): use master br…
github-actions[bot] May 19, 2026
9ed320d
IONOS(config): update submodule ecde9e2 (feat(oicd.config.php): enabl…
github-actions[bot] May 20, 2026
d4bce1b
IONOS(serverinfo): update submodule to v33.0.6 (NC33 compatible)
printminion-co Jul 13, 2026
71be8e3
IONOS(files_downloadlimit): update submodule to v33.0.6 (sync with nc…
printminion-co Jul 13, 2026
e3ccd42
IONOS(richdocuments): update submodule to vanilla v10.1.3 (NC33)
printminion-co Jul 13, 2026
fc38430
IONOS(viewer): update submodule to v33.0.6 (NC33)
printminion-co Jul 13, 2026
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
93 changes: 93 additions & 0 deletions .github/actions/get-job-data/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: 'Get Job Data from GitHub Actions'
description: 'Fetches the GitHub Actions job data from the GitHub API'
inputs:
job-name:
description: 'The name of the job to find'
required: true
github-token:
description: 'GitHub token for API authentication'
required: true
repository:
description: 'Repository in owner/repo format'
required: true
run-id:
description: 'GitHub Actions run ID'
required: true
outputs:
job_html_url:
description: 'The HTML URL of the job'
value: ${{ steps.get_url.outputs.job_html_url }}
runs:
using: 'composite'
steps:
- name: Fetch job URL from GitHub API
id: get_url
shell: bash
run: |
# Fetch the numeric job ID from GitHub API
CURL_ERROR_FILE=$(mktemp)
NETRC_FILE=$(mktemp)

# Write GitHub API credentials to a temporary netrc file to avoid
# passing the token directly on the curl command line.
printf '%s\n' \
'machine api.github.com' \
' login x-access-token' \
" password ${{ inputs.github-token }}" \
> "$NETRC_FILE"
chmod 600 "$NETRC_FILE"

# Ensure temporary file cleanup on exit
cleanup() {
if [ -n "$CURL_ERROR_FILE" ] && [ -f "$CURL_ERROR_FILE" ]; then
rm -f "$CURL_ERROR_FILE"
fi
if [ -n "$NETRC_FILE" ] && [ -f "$NETRC_FILE" ]; then
rm -f "$NETRC_FILE"
fi
}
trap cleanup EXIT

API_RESPONSE=$(curl -sS -w "\n%{http_code}" \
--netrc-file "$NETRC_FILE" \
-H "Accept: application/vnd.github+json" \
"https://api.github.com/repos/${{ inputs.repository }}/actions/runs/${{ inputs.run-id }}/jobs" 2>"$CURL_ERROR_FILE")

CURL_EXIT_CODE=$?
if [ $CURL_EXIT_CODE -ne 0 ]; then
echo "❌ ERROR: curl request to GitHub API failed with exit code $CURL_EXIT_CODE"
if [ -s "$CURL_ERROR_FILE" ]; then
echo "curl error output:"
cat "$CURL_ERROR_FILE"
fi
echo "job_html_url=" >> "$GITHUB_OUTPUT"
exit 0
fi

HTTP_CODE=$(echo "$API_RESPONSE" | tail -n1)
RESPONSE_BODY=$(echo "$API_RESPONSE" | sed '$d')

if [ "$HTTP_CODE" != "200" ]; then
echo "⚠️ WARNING: GitHub API request failed with $HTTP_CODE"
echo "job_html_url=" >> "$GITHUB_OUTPUT"
exit 0
fi

EXPECTED_JOB_NAME="${{ inputs.job-name }}"
JOB_URL=$(echo "$RESPONSE_BODY" | jq -r \
--arg job_name "$EXPECTED_JOB_NAME" \
'.jobs[] | select(.name == $job_name) | .html_url')

if [ -z "$JOB_URL" ] || [ "$JOB_URL" = "null" ]; then
echo "⚠️ WARNING: Failed to extract job URL from response for job name '$EXPECTED_JOB_NAME'."
echo "Possible causes:"
echo " - The job name does not match exactly (including spaces and case)."
echo " - The job has not started yet at the time this action ran."
echo " - The GitHub API response format was unexpected."
echo "Please verify that the job has started before this action runs and double-check the exact job name in the GitHub Actions UI."
echo "job_html_url=" >> "$GITHUB_OUTPUT"
exit 0
fi

echo "job_html_url=$JOB_URL" >> "$GITHUB_OUTPUT"
echo "Job URL: $JOB_URL"
Loading
Loading