@@ -99,7 +99,7 @@ module.exports.publish = async (pluginConfig, context) => {
|
|||||||
body: nextRelease.notes,
|
body: nextRelease.notes,
|
||||||
draft: false,
|
draft: false,
|
||||||
name: nextRelease.name,
|
name: nextRelease.name,
|
||||||
prerelease: Boolean(branch.prerelease),
|
prerelease: false,
|
||||||
tag_name: nextRelease.gitTag,
|
tag_name: nextRelease.gitTag,
|
||||||
target_commitish: branch.name,
|
target_commitish: branch.name,
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
name: Open a PR to main
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- dev
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pull-request:
|
|
||||||
name: Open pull request
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Open pull request
|
|
||||||
env:
|
|
||||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
|
||||||
GITEA_URL: ${{ gitea.server_url }}
|
|
||||||
GITEA_REPOSITORY: ${{ gitea.repository }}
|
|
||||||
SOURCE_BRANCH: ${{ gitea.ref_name }}
|
|
||||||
TARGET_BRANCH: main
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
api_url="${GITEA_URL%/}/api/v1"
|
|
||||||
auth_header="Authorization: token ${GITEA_TOKEN}"
|
|
||||||
|
|
||||||
open_pulls="$(
|
|
||||||
curl --fail-with-body --silent --show-error \
|
|
||||||
--get \
|
|
||||||
--header "$auth_header" \
|
|
||||||
--data-urlencode "state=open" \
|
|
||||||
--data-urlencode "base_branch=${TARGET_BRANCH}" \
|
|
||||||
--data-urlencode "limit=50" \
|
|
||||||
"${api_url}/repos/${GITEA_REPOSITORY}/pulls"
|
|
||||||
)"
|
|
||||||
if jq -e --arg branch "$SOURCE_BRANCH" \
|
|
||||||
'any(.[]; .head.ref == $branch)' <<<"$open_pulls" >/dev/null; then
|
|
||||||
echo "Pull request already exists."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
commits="$(git rev-list --count "origin/${TARGET_BRANCH}..HEAD")"
|
|
||||||
if [[ "$commits" -eq 0 ]]; then
|
|
||||||
echo "No commits between ${TARGET_BRANCH} and ${SOURCE_BRANCH}. Skipping pull request creation."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
payload="$(
|
|
||||||
jq -n \
|
|
||||||
--arg base "$TARGET_BRANCH" \
|
|
||||||
--arg head "$SOURCE_BRANCH" \
|
|
||||||
--arg title 'chore: Merge branch `dev` to `main`' \
|
|
||||||
--arg body 'When dev (pre-release) is ready, merge this pull request to create a new stable release.' \
|
|
||||||
'{base: $base, head: $head, title: $title, body: $body}'
|
|
||||||
)"
|
|
||||||
|
|
||||||
curl --fail-with-body --silent --show-error \
|
|
||||||
--request POST \
|
|
||||||
--header "$auth_header" \
|
|
||||||
--header "Content-Type: application/json" \
|
|
||||||
--data "$payload" \
|
|
||||||
"${api_url}/repos/${GITEA_REPOSITORY}/pulls" >/dev/null
|
|
||||||
echo "Pull request created."
|
|
||||||
+1
-19
@@ -1,11 +1,5 @@
|
|||||||
{
|
{
|
||||||
"branches": [
|
"branches": ["main"],
|
||||||
"main",
|
|
||||||
{
|
|
||||||
"name": "dev",
|
|
||||||
"prerelease": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"plugins": [
|
"plugins": [
|
||||||
[
|
[
|
||||||
"@semantic-release/commit-analyzer",
|
"@semantic-release/commit-analyzer",
|
||||||
@@ -61,18 +55,6 @@
|
|||||||
],
|
],
|
||||||
"message": "chore: Release v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
"message": "chore: Release v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
||||||
}
|
}
|
||||||
],
|
|
||||||
[
|
|
||||||
"@cleyrop-org/semantic-release-backmerge",
|
|
||||||
{
|
|
||||||
"backmergeBranches": [
|
|
||||||
{
|
|
||||||
"from": "main",
|
|
||||||
"to": "dev"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"clearWorkspace": true
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
-28
@@ -5,7 +5,6 @@
|
|||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@cleyrop-org/semantic-release-backmerge": "^6.2.0",
|
|
||||||
"@semantic-release/exec": "^7.1.0",
|
"@semantic-release/exec": "^7.1.0",
|
||||||
"@semantic-release/git": "^11.0.1",
|
"@semantic-release/git": "^11.0.1",
|
||||||
"conventional-changelog-conventionalcommits": "^9.3.1",
|
"conventional-changelog-conventionalcommits": "^9.3.1",
|
||||||
@@ -87,26 +86,6 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@cleyrop-org/semantic-release-backmerge": {
|
|
||||||
"version": "6.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@cleyrop-org/semantic-release-backmerge/-/semantic-release-backmerge-6.2.0.tgz",
|
|
||||||
"integrity": "sha512-d3dvZJgwBqsbhWKW1msIWlnkv3c1UoxUkFznrIYb0IewIiJLrfSv6ZWQvJVG67opAc3yTcqiovVL/J8G7/UnAA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@semantic-release/error": "^4.0.0",
|
|
||||||
"aggregate-error": "^5.0.0",
|
|
||||||
"debug": "^4.4.3",
|
|
||||||
"execa": "^9.6.1",
|
|
||||||
"lodash": "^4.18.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "^22.14.0 || >=24.10.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"semantic-release": ">=24"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@colors/colors": {
|
"node_modules/@colors/colors": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||||
@@ -2201,13 +2180,6 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/lodash": {
|
|
||||||
"version": "4.18.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
||||||
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/lodash-es": {
|
"node_modules/lodash-es": {
|
||||||
"version": "4.18.1",
|
"version": "4.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
|
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@cleyrop-org/semantic-release-backmerge": "^6.2.0",
|
|
||||||
"@semantic-release/exec": "^7.1.0",
|
"@semantic-release/exec": "^7.1.0",
|
||||||
"@semantic-release/git": "^11.0.1",
|
"@semantic-release/git": "^11.0.1",
|
||||||
"conventional-changelog-conventionalcommits": "^9.3.1",
|
"conventional-changelog-conventionalcommits": "^9.3.1",
|
||||||
|
|||||||
Reference in New Issue
Block a user