diff --git a/.devcontainer b/.devcontainer
index 8f80b21a..99c37c55 160000
--- a/.devcontainer
+++ b/.devcontainer
@@ -1 +1 @@
-Subproject commit 8f80b21ac3f2bec48356b232068e35aaba64fc06
+Subproject commit 99c37c554e3473089ab264dbbf0e5f53d8cc18ef
diff --git a/.github/release-tag.yml b/.github/release-tag.yml
new file mode 100644
index 00000000..d3e75662
--- /dev/null
+++ b/.github/release-tag.yml
@@ -0,0 +1,2 @@
+tag: xpv0.9.1.5
+message: "xpro version 0.9.1.5 tag"
diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml
index 82c4b83a..76b2701d 100644
--- a/.github/workflows/xpbuild.yml
+++ b/.github/workflows/xpbuild.yml
@@ -1,12 +1,12 @@
-name: Build
+name: xpBuild
permissions:
contents: read
pull-requests: write
on:
push:
- branches: [ "dev" ]
+ tags: ["xpv*"]
pull_request:
- branches: [ "dev" ]
+ branches: ["xpro"]
workflow_dispatch:
jobs:
linux:
@@ -14,11 +14,11 @@ jobs:
contents: read
pull-requests: write
packages: write
- uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.1
+ uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.6
secrets: inherit
macos:
- uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.1
+ uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.6
secrets: inherit
windows:
- uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.1
+ uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.6
secrets: inherit
diff --git a/.github/workflows/xprelease.yml b/.github/workflows/xprelease.yml
index dbac778e..a2eb2822 100644
--- a/.github/workflows/xprelease.yml
+++ b/.github/workflows/xprelease.yml
@@ -1,4 +1,4 @@
-name: Release
+name: xpRelease
on:
workflow_dispatch:
inputs:
@@ -6,10 +6,35 @@ on:
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:
- uses: externpro/externpro/.github/workflows/release-from-build.yml@25.07.1
+ if: github.event_name == 'workflow_dispatch'
+ uses: externpro/externpro/.github/workflows/release-from-build.yml@25.07.6
with:
workflow_run_url: ${{ github.event.inputs.workflow_run_url }}
permissions:
diff --git a/.github/workflows/xptag.yml b/.github/workflows/xptag.yml
new file mode 100644
index 00000000..b5ce9503
--- /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@25.07.6
+ with:
+ merge_sha: ${{ github.event.pull_request.merge_commit_sha }}
+ pr_number: ${{ github.event.pull_request.number }}
+ secrets:
+ workflow_write_token: ${{ secrets.XPUPDATE_TOKEN }}
diff --git a/xprodeps.md b/xprodeps.md
new file mode 100644
index 00000000..9a908bbc
--- /dev/null
+++ b/xprodeps.md
@@ -0,0 +1,25 @@
+# libstrophe dependencies
+
+|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
+|-------|-------------|--------------------------|-------|------|----------|
+|[libstrophe](http://strophe.im/libstrophe/)|[MIT or GPL-3.0](https://github.com/strophe/libstrophe/blob/0.9.1/LICENSE.txt 'dual licensed under MIT and GPLv3 licenses')|A simple, lightweight C library for writing XMPP client [deps: _libexpat, openssl_]| |[upstream](https://github.com/strophe/libstrophe 'github.com/strophe/libstrophe')| [intro]|
+|[libexpat](https://libexpat.github.io)|[MIT](https://github.com/libexpat/libexpat/blob/R_2_2_5/expat/COPYING 'MIT License')|a stream-oriented XML parser library written in C|[xpv2.2.5.3](https://github.com/externpro/libexpat/releases/tag/xpv2.2.5.3 'release')|[repo](https://github.com/externpro/libexpat 'github.com/externpro/libexpat') [upstream](https://github.com/libexpat/libexpat 'github.com/libexpat/libexpat')|[diff](https://github.com/externpro/libexpat/compare/R_2_2_5...xpv2.2.5.3 'github.com/externpro/libexpat/compare/R_2_2_5...xpv2.2.5.3') [patch]|
+|[openssl](http://www.openssl.org/)|[BSD-style](http://www.openssl.org/source/license.html 'dual OpenSSL and SSLeay License: both are BSD-style licenses')|Cryptography and SSL/TLS Toolkit [pvt deps: _nasm, yasm_]|[xpv1.1.1l.4](https://github.com/externpro/openssl/releases/tag/xpv1.1.1l.4 'release')|[repo](https://github.com/externpro/openssl 'github.com/externpro/openssl') [upstream](https://github.com/openssl/openssl 'github.com/openssl/openssl')|[diff](https://github.com/externpro/openssl/compare/OpenSSL_1_1_1l...xpv1.1.1l.4 'github.com/externpro/openssl/compare/OpenSSL_1_1_1l...xpv1.1.1l.4') [intro]|
+|[nasm](https://www.nasm.us/)|[BSD-2-Clause](https://www.nasm.us/ 'BSD 2-Clause Simplified License')|The Netwide Assembler - an 80x86 and x86-64 assembler (MSW-only)|[xpv2.14.02.4](https://github.com/externpro/nasm/releases/tag/xpv2.14.02.4 'release')|[repo](https://github.com/externpro/nasm 'github.com/externpro/nasm')|[diff](https://github.com/externpro/nasm/compare/v0...xpv2.14.02.4 'github.com/externpro/nasm/compare/v0...xpv2.14.02.4') [bin]|
+|[yasm](http://yasm.tortall.net/)|[BSD-2-Clause](https://github.com/yasm/yasm/blob/v1.3.0/COPYING 'BSD 2-Clause Simplified License')|assembler and disassembler for the Intel x86 architecture|[xpv1.3.0.3](https://github.com/externpro/yasm/releases/tag/xpv1.3.0.3 'release')|[repo](https://github.com/externpro/yasm 'github.com/externpro/yasm') [upstream](https://github.com/yasm/yasm 'github.com/yasm/yasm')|[diff](https://github.com/externpro/yasm/compare/v1.3.0...xpv1.3.0.3 'github.com/externpro/yasm/compare/v1.3.0...xpv1.3.0.3') [patch]|
+
+
+
+Dependency version check: all 4 parent-manifest versions match pinned versions.
+
+|diff |description|
+|------|-----------|
+|patch |diff modifies/patches existing cmake|
+|intro |diff introduces cmake|
+|auto |diff adds cmake to replace autotools/configure/make|
+|native|diff adds cmake but uses existing build system|
+|bin |diff adds cmake to repackage binaries built elsewhere|
+|fetch |diff adds cmake and utilizes FetchContent|
+
+[^_l]: see [SPDX License List](https://spdx.org/licenses/ '') for a list of commonly found licenses
+[^_d]: see table above with description of diff
diff --git a/xprodeps.svg b/xprodeps.svg
new file mode 100644
index 00000000..9a1ac867
--- /dev/null
+++ b/xprodeps.svg
@@ -0,0 +1,66 @@
+
+
+
+
+