diff --git a/.devcontainer b/.devcontainer index 2659643..0d870ff 160000 --- a/.devcontainer +++ b/.devcontainer @@ -1 +1 @@ -Subproject commit 26596433a6e75f82174ae25041825c8a58d43d04 +Subproject commit 0d870ffbd0caf56ac7ac04c09c46ef99dc8dbf49 diff --git a/.github/release-tag.yml b/.github/release-tag.yml new file mode 100644 index 0000000..7563d21 --- /dev/null +++ b/.github/release-tag.yml @@ -0,0 +1,2 @@ +tag: xpv2.14.02.4 +message: "xpro version 2.14.02.4 tag" diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml index 70e7cbb..37a411c 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,17 +14,17 @@ 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 with: cmake-workflow-preset: LinuxRelease 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 with: cmake-workflow-preset: DarwinRelease 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 with: cmake-workflow-preset: WindowsRelease diff --git a/.github/workflows/xprelease.yml b/.github/workflows/xprelease.yml index dbac778..a2eb282 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 0000000..b5ce950 --- /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 }}