Skip to content

Commit 137dfad

Browse files
committed
externpro init
1 parent 0c48e41 commit 137dfad

11 files changed

Lines changed: 195 additions & 0 deletions

.github/workflows/xpbuild.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: xpBuild
2+
permissions:
3+
contents: read
4+
pull-requests: write
5+
on:
6+
push:
7+
tags: ["xpv*"]
8+
pull_request:
9+
branches: ["xpro"]
10+
workflow_dispatch:
11+
jobs:
12+
linux:
13+
permissions:
14+
contents: read
15+
pull-requests: write
16+
packages: write
17+
uses: externpro/externpro/.github/workflows/build-linux.yml@26.01.1
18+
secrets:
19+
automation_token: ${{ secrets.GHCR_TOKEN }}
20+
with: {}
21+
macos:
22+
uses: externpro/externpro/.github/workflows/build-macos.yml@26.01.1
23+
secrets: inherit
24+
with: {}
25+
windows:
26+
uses: externpro/externpro/.github/workflows/build-windows.yml@26.01.1
27+
secrets: inherit
28+
with: {}

.github/workflows/xpinit.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: xpInit externpro
2+
permissions:
3+
contents: write
4+
pull-requests: write
5+
packages: write
6+
on:
7+
workflow_dispatch:
8+
jobs:
9+
init:
10+
uses: externpro/externpro/.github/workflows/init-externpro.yml@main
11+
secrets:
12+
automation_token: ${{ secrets.XPRO_TOKEN }}

.github/workflows/xprelease.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: xpRelease
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
workflow_run_url:
6+
description: 'URL of the workflow run containing artifacts to upload (e.g., https://github.com/owner/repo/actions/runs/123456789)'
7+
required: true
8+
type: string
9+
workflow_run:
10+
workflows: ["xpBuild"]
11+
types: [completed]
12+
jobs:
13+
dispatch-at-tag:
14+
if: >-
15+
github.event_name == 'workflow_run' &&
16+
github.event.workflow_run.conclusion == 'success' &&
17+
startsWith(github.event.workflow_run.head_branch, 'xpv')
18+
runs-on: ubuntu-latest
19+
permissions:
20+
actions: write
21+
steps:
22+
-
23+
name: Dispatch xpRelease at tag
24+
shell: bash
25+
env:
26+
GH_TOKEN: ${{ github.token }}
27+
RUN_URL: ${{ github.event.workflow_run.html_url }}
28+
TAG_REF: ${{ github.event.workflow_run.head_branch }}
29+
run: |
30+
set -euo pipefail
31+
gh api -X POST "repos/${{ github.repository }}/actions/workflows/xprelease.yml/dispatches" \
32+
-f ref="$TAG_REF" \
33+
-f inputs[workflow_run_url]="$RUN_URL"
34+
# Upload build artifacts as release assets
35+
release-from-build:
36+
if: github.event_name == 'workflow_dispatch'
37+
uses: externpro/externpro/.github/workflows/release-from-build.yml@26.01.1
38+
with:
39+
workflow_run_url: ${{ github.event.inputs.workflow_run_url }}
40+
permissions:
41+
contents: write
42+
id-token: write
43+
attestations: write
44+
secrets: inherit

.github/workflows/xptag.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: xpTag
2+
permissions:
3+
contents: write
4+
issues: write
5+
on:
6+
pull_request:
7+
types: [closed]
8+
jobs:
9+
tag:
10+
if: ${{ github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'xpro' && contains(github.event.pull_request.labels.*.name, 'release:tag') }}
11+
uses: externpro/externpro/.github/workflows/tag-release.yml@26.01.1
12+
with:
13+
merge_sha: ${{ github.event.pull_request.merge_commit_sha }}
14+
pr_number: ${{ github.event.pull_request.number }}
15+
secrets:
16+
automation_token: ${{ secrets.XPRO_TOKEN }}

.github/workflows/xpupdate.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: xpUpdate externpro
2+
permissions:
3+
contents: write
4+
pull-requests: write
5+
packages: write
6+
on:
7+
workflow_dispatch:
8+
jobs:
9+
update:
10+
uses: externpro/externpro/.github/workflows/update-externpro.yml@main
11+
secrets:
12+
automation_token: ${{ secrets.XPRO_TOKEN }}
13+
with: {}

CMakePresets.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"version": 8,
3+
"include": [
4+
".devcontainer/cmake/presets/xpLinuxNinja.json",
5+
".devcontainer/cmake/presets/xpDarwinNinja.json",
6+
".devcontainer/cmake/presets/xpMswVs2022.json",
7+
".devcontainer/cmake/presets/xpMswVs2026.json"
8+
]
9+
}

CMakePresetsBase.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"version": 8,
3+
"configurePresets": [
4+
{
5+
"name": "config-base",
6+
"hidden": true,
7+
"binaryDir": "${sourceDir}/_bld-${presetName}",
8+
"cacheVariables": {
9+
"CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0"
10+
}
11+
}
12+
],
13+
"buildPresets": [
14+
{
15+
"name": "build-base",
16+
"hidden": true
17+
}
18+
]
19+
}

docker-compose.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.devcontainer/compose.pro.sh

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.devcontainer/compose.bld.yml

xprodeps.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# libsodium dependencies
2+
3+
|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
4+
|-------|-------------|--------------------------|-------|------|----------|
5+
|<a id='libsodium' />[libsodium](https://doc.libsodium.org/)|[ISC](https://doc.libsodium.org/#license 'Internet Systems Consortium License, functionally equivalent to simplified BSD and MIT licenses')|library for encryption, decryption, signatures, password hashing and more [deps: _Threads_]| |[upstream](https://github.com/jedisct1/libsodium 'github.com/jedisct1/libsodium')| [auto]|
6+
|<a id='Threads' />[Threads](https://cmake.org/cmake/help/latest/module/FindThreads.html)|[LGPL-2.1-or-later](https://spdx.org/licenses/LGPL-2.1-or-later.html 'GNU Lesser General Public License v2.1 or later')|Finds and determines the thread library of the system for multithreading support|[xpv1.0.4](https://github.com/externpro/Threads/releases/tag/xpv1.0.4 'release')|[repo](https://github.com/externpro/Threads 'github.com/externpro/Threads')|[diff](https://github.com/externpro/Threads/compare/v0...xpv1.0.4 'github.com/externpro/Threads/compare/v0...xpv1.0.4') [bin]|
7+
8+
![deps](xprodeps.svg 'dependencies')
9+
10+
Dependency version check: all 1 parent-manifest versions match pinned versions.
11+
12+
|diff |description|
13+
|------|-----------|
14+
|patch |diff modifies/patches existing cmake|
15+
|intro |diff introduces cmake|
16+
|auto |diff adds cmake to replace autotools/configure/make|
17+
|native|diff adds cmake but uses existing build system|
18+
|bin |diff adds cmake to repackage binaries built elsewhere|
19+
|fetch |diff adds cmake and utilizes FetchContent|
20+
21+
[^_l]: see [SPDX License List](https://spdx.org/licenses/ '') for a list of commonly found licenses
22+
[^_d]: see table above with description of diff

0 commit comments

Comments
 (0)