From c93ecbd65131937260fb29c0524c583a0b3b41b7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 18 May 2026 16:18:22 +0000 Subject: [PATCH 1/7] add docker-compose links --- docker-compose.sh | 1 + docker-compose.yml | 1 + 2 files changed, 2 insertions(+) create mode 120000 docker-compose.sh create mode 120000 docker-compose.yml diff --git a/docker-compose.sh b/docker-compose.sh new file mode 120000 index 0000000..85f182f --- /dev/null +++ b/docker-compose.sh @@ -0,0 +1 @@ +.devcontainer/compose.pro.sh \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 120000 index 0000000..46c1f89 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1 @@ +.devcontainer/compose.bld.yml \ No newline at end of file From 3576be410ee711903511092e7d66c02af9ffc1dc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 18 May 2026 16:18:22 +0000 Subject: [PATCH 2/7] add CMakePresets --- CMakePresets.json | 9 +++++++++ CMakePresetsBase.json | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 CMakePresets.json create mode 100644 CMakePresetsBase.json diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..28efa39 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,9 @@ +{ + "version": 8, + "include": [ + ".devcontainer/cmake/presets/xpLinuxNinja.json", + ".devcontainer/cmake/presets/xpDarwinNinja.json", + ".devcontainer/cmake/presets/xpMswVs2022.json", + ".devcontainer/cmake/presets/xpMswVs2026.json" + ] +} diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json new file mode 100644 index 0000000..085cdc3 --- /dev/null +++ b/CMakePresetsBase.json @@ -0,0 +1,16 @@ +{ + "version": 8, + "configurePresets": [ + { + "name": "config-base", + "hidden": true, + "binaryDir": "${sourceDir}/_bld-${presetName}" + } + ], + "buildPresets": [ + { + "name": "build-base", + "hidden": true + } + ] +} From 768fa668ac3c932d1a003d48552a8a5ee029bcc0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 18 May 2026 16:18:22 +0000 Subject: [PATCH 3/7] add GitHub Actions workflows --- .github/workflows/xpbuild.yml | 28 +++++++++++++++++++++ .github/workflows/xprelease.yml | 44 +++++++++++++++++++++++++++++++++ .github/workflows/xptag.yml | 16 ++++++++++++ .github/workflows/xpupdate.yml | 13 ++++++++++ 4 files changed, 101 insertions(+) create mode 100644 .github/workflows/xpbuild.yml create mode 100644 .github/workflows/xprelease.yml create mode 100644 .github/workflows/xptag.yml create mode 100644 .github/workflows/xpupdate.yml diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml new file mode 100644 index 0000000..6b21537 --- /dev/null +++ b/.github/workflows/xpbuild.yml @@ -0,0 +1,28 @@ +name: xpBuild +permissions: + contents: read + pull-requests: write +on: + push: + tags: ["xpv*"] + pull_request: + branches: ["xpro"] + workflow_dispatch: +jobs: + linux: + permissions: + contents: read + pull-requests: write + packages: write + uses: externpro/externpro/.github/workflows/build-linux.yml@26.01 + secrets: + automation_token: ${{ secrets.GHCR_TOKEN }} + with: {} + macos: + uses: externpro/externpro/.github/workflows/build-macos.yml@26.01 + secrets: inherit + with: {} + windows: + uses: externpro/externpro/.github/workflows/build-windows.yml@26.01 + secrets: inherit + with: {} diff --git a/.github/workflows/xprelease.yml b/.github/workflows/xprelease.yml new file mode 100644 index 0000000..ec3fedb --- /dev/null +++ b/.github/workflows/xprelease.yml @@ -0,0 +1,44 @@ +name: xpRelease +on: + workflow_dispatch: + inputs: + workflow_run_url: + description: 'URL of the workflow run containing artifacts to upload (e.g., https://github.com/owner/repo/actions/runs/123456789)' + required: true + type: string + workflow_run: + workflows: ["xpBuild"] + types: [completed] +jobs: + dispatch-at-tag: + if: >- + github.event_name == 'workflow_run' && + github.event.workflow_run.conclusion == 'success' && + startsWith(github.event.workflow_run.head_branch, 'xpv') + runs-on: ubuntu-latest + permissions: + actions: write + steps: + - + name: Dispatch xpRelease at tag + shell: bash + env: + GH_TOKEN: ${{ github.token }} + RUN_URL: ${{ github.event.workflow_run.html_url }} + TAG_REF: ${{ github.event.workflow_run.head_branch }} + run: | + set -euo pipefail + gh api -X POST "repos/${{ github.repository }}/actions/workflows/xprelease.yml/dispatches" \ + -f ref="$TAG_REF" \ + -f inputs[workflow_run_url]="$RUN_URL" + # Upload build artifacts as release assets + release-from-build: + if: github.event_name == 'workflow_dispatch' + uses: externpro/externpro/.github/workflows/release-from-build.yml@26.01 + with: + workflow_run_url: ${{ github.event.inputs.workflow_run_url }} + permissions: + contents: write + id-token: write + attestations: write + secrets: inherit diff --git a/.github/workflows/xptag.yml b/.github/workflows/xptag.yml new file mode 100644 index 0000000..cd59ea3 --- /dev/null +++ b/.github/workflows/xptag.yml @@ -0,0 +1,16 @@ +name: xpTag +permissions: + contents: write + issues: write +on: + pull_request: + types: [closed] +jobs: + tag: + if: ${{ github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'xpro' && contains(github.event.pull_request.labels.*.name, 'release:tag') }} + uses: externpro/externpro/.github/workflows/tag-release.yml@26.01 + with: + merge_sha: ${{ github.event.pull_request.merge_commit_sha }} + pr_number: ${{ github.event.pull_request.number }} + secrets: + automation_token: ${{ secrets.XPRO_TOKEN }} diff --git a/.github/workflows/xpupdate.yml b/.github/workflows/xpupdate.yml new file mode 100644 index 0000000..0a51a08 --- /dev/null +++ b/.github/workflows/xpupdate.yml @@ -0,0 +1,13 @@ +name: xpUpdate externpro +permissions: + contents: write + pull-requests: write + packages: write +on: + workflow_dispatch: +jobs: + update: + uses: externpro/externpro/.github/workflows/update-externpro.yml@main + secrets: + automation_token: ${{ secrets.XPRO_TOKEN }} + with: {} From 6297e1c31ac217664ccc33485412f6761c2e18d5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 18 May 2026 16:18:22 +0000 Subject: [PATCH 4/7] add release-tag intent --- .github/release-tag.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .github/release-tag.json diff --git a/.github/release-tag.json b/.github/release-tag.json new file mode 100644 index 0000000..21614ed --- /dev/null +++ b/.github/release-tag.json @@ -0,0 +1,4 @@ +{ + "message": "xpro version 0.1 tag", + "tag": "xpv0.1" +} From 988af35b689365dfacc7815cb49f17a0d2f8fc1b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 18 May 2026 16:18:22 +0000 Subject: [PATCH 5/7] gitignore: add externpro ignores --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4ec8e4d --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# externpro +.env +_bld*/ +docker-compose.override.yml From 0c163b5ca15485f3f298ce9473c5fe4ae32f349b Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Mon, 18 May 2026 10:25:10 -0600 Subject: [PATCH 6/7] workflows/xpbuild: update to use Release preset Updates xpbuild.yml to explicitly specify cmake_workflow_preset_suffix: Release for all build jobs (linux, macos, windows). This ensures consistent Release cmake workflow preset across all platforms and matches the configuration used by other externpro projects needing only Release build configuration. Previously using empty with: {} blocks, now explicitly setting the Release preset for proper cmake workflow preset configuration. --- .github/workflows/xpbuild.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml index 6b21537..1b5e876 100644 --- a/.github/workflows/xpbuild.yml +++ b/.github/workflows/xpbuild.yml @@ -17,12 +17,15 @@ jobs: uses: externpro/externpro/.github/workflows/build-linux.yml@26.01 secrets: automation_token: ${{ secrets.GHCR_TOKEN }} - with: {} + with: + cmake_workflow_preset_suffix: Release macos: uses: externpro/externpro/.github/workflows/build-macos.yml@26.01 secrets: inherit - with: {} + with: + cmake_workflow_preset_suffix: Release windows: uses: externpro/externpro/.github/workflows/build-windows.yml@26.01 secrets: inherit - with: {} + with: + cmake_workflow_preset_suffix: Release From 0484a34f447f5ad5e7f159fa2acae0f51840efc3 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Mon, 18 May 2026 10:27:46 -0600 Subject: [PATCH 7/7] update .github/release-tag.json --- .github/release-tag.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/release-tag.json b/.github/release-tag.json index 21614ed..544e7bc 100644 --- a/.github/release-tag.json +++ b/.github/release-tag.json @@ -1,4 +1,4 @@ { - "message": "xpro version 0.1 tag", - "tag": "xpv0.1" + "message": "xpro version 1.0.0 tag", + "tag": "xpv1.0.0" }