diff --git a/.devcontainer b/.devcontainer index 042238da4..cc12bc2d6 160000 --- a/.devcontainer +++ b/.devcontainer @@ -1 +1 @@ -Subproject commit 042238da4a6e82162848388c30b55c707ac2c1e5 +Subproject commit cc12bc2d64d265d336711a8f5cd6e44796110e71 diff --git a/.github/release-tag.yml b/.github/release-tag.yml new file mode 100644 index 000000000..094f822f0 --- /dev/null +++ b/.github/release-tag.yml @@ -0,0 +1,2 @@ +tag: xpv3.9.5.3 +message: "xpro version 3.9.5.3 tag" diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml index 625b2f932..76b2701de 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.2 + uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.6 secrets: inherit macos: - uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.2 + uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.6 secrets: inherit windows: - uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.2 + 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 fe4c52cd7..a2eb28224 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.2 + 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 000000000..b5ce9503a --- /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 000000000..2a21edb92 --- /dev/null +++ b/xprodeps.md @@ -0,0 +1,25 @@ +# activemq-cpp dependencies + +|project|license [^_l]|description [dependencies]|version|source|diff [^_d]| +|-------|-------------|--------------------------|-------|------|----------| +|[activemq-cpp](http://activemq.apache.org/cms/)|[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')|ActiveMQ C++ Messaging Service (CMS) client library [deps: _apr, openssl_]| |[upstream](https://github.com/apache/activemq-cpp 'github.com/apache/activemq-cpp')| [auto]| +|[apr](http://apr.apache.org/)|[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')|Apache Portable Runtime project|[xpv1.7.6.3](https://github.com/externpro/apr/releases/tag/xpv1.7.6.3 'release')|[repo](https://github.com/externpro/apr 'github.com/externpro/apr') [upstream](https://github.com/apache/apr 'github.com/apache/apr')|[diff](https://github.com/externpro/apr/compare/1.7.6...xpv1.7.6.3 'github.com/externpro/apr/compare/1.7.6...xpv1.7.6.3') [patch(msw), auto(unix)]| +|[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]| + +![deps](xprodeps.svg 'dependencies') + +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 000000000..ae1cdcfdc --- /dev/null +++ b/xprodeps.svg @@ -0,0 +1,66 @@ + + + + + + +GG + + +activemq-cpp + +activemq-cpp + + + +apr + +apr + + + +activemq-cpp->apr + + + + + +openssl + +openssl + + + +activemq-cpp->openssl + + + + + +nasm + +nasm + + + +openssl->nasm + + + + + +yasm + +yasm + + + +openssl->yasm + + + + +