chore: add test release-it configurations

This commit is contained in:
Christian Benincasa
2026-01-03 11:28:45 -05:00
parent 0d86006c85
commit 603793dfe9
6 changed files with 1736 additions and 180 deletions

47
.github/workflows/release-it.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: Release It (test)
on:
workflow_dispatch:
push:
branches:
- main
- dev
permissions:
contents: read # for checkout
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Latest Corepack
run: |
npm install -g corepack@latest
corepack enable && corepack enable pnpm
pnpm --version
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22.13.0
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Release from Main (Stable)
if: github.ref == 'refs/heads/main'
run: pnpm release-it --dry-run --ci
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKER_CHANNEL: latest # Updates the 'latest' tag on Docker Hub
- name: Release from Dev (Pre-release)
if: github.ref == 'refs/heads/dev'
run: npx release-it --dry-run --preRelease=dev --ci
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKER_CHANNEL: dev # Updates the 'dev' tag on Docker Hub

View File

@@ -1,11 +1,10 @@
name: Release (test)
name: Semantic Release (test)
on:
workflow_dispatch:
push:
branches:
- main
- dev
- media-scanner
permissions:
contents: read # for checkout
@@ -36,23 +35,22 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: 22.13.0
cache: 'pnpm'
cache: "pnpm"
- name: Install dependencies
run: pnpm install
# - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
# run: npm audit signatures
- name: Release
id: semantic
uses: chrisbenincasa/semantic-release-action@4ca186aaf671302bc91973084d1cae5f63ff3170
uses: chrisbenincasa/semantic-release-action@e0b75dd3b943e75f6bea693cc69caf82c26c0571
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
dry_run: true
- name: Do something when a new release published
if: steps.semantic.outputs.new_release_published == 'true'
run: |
@@ -61,4 +59,4 @@ jobs:
echo ${{ steps.semantic.outputs.new_release_minor_version }}
echo ${{ steps.semantic.outputs.new_release_patch_version }}
echo ${{ steps.semantic.outputs.new_release_prerelease_version }}
echo ${{ steps.semantic.outputs.new_release_git_tag }}
echo ${{ steps.semantic.outputs.new_release_git_tag }}

30
.release-it.json Normal file
View File

@@ -0,0 +1,30 @@
{
"$schema": "https://raw.githubusercontent.com/release-it/release-it/refs/heads/main/schema/release-it.json",
"plugins": {
"release-it-pnpm": {},
"@release-it/conventional-changelog": {
"preset": {
"name": "angular"
},
"infile": "CHANGELOG.md"
},
"@release-it/bumper": {
"out": {
"file": [
"server/package.json",
"web/package.json",
"shared/package.json",
"types/package.json"
],
"path": "version"
}
}
},
"git": {
"commitMessage": "chore: release ${version}"
},
"npm": {
"publish": false,
"skipChecks": true
}
}

View File

@@ -20,6 +20,8 @@
"@commitlint/types": "^19.0.3",
"@eslint/eslintrc": "^3.0.2",
"@eslint/js": "^9.0.0",
"@release-it/bumper": "^7.0.5",
"@release-it/conventional-changelog": "^10.0.4",
"@semantic-release/changelog": "^6.0.3",
"@typescript-eslint/eslint-plugin": "^8.21.0",
"@typescript-eslint/parser": "^8.21.0",
@@ -36,6 +38,8 @@
"husky": "^9.0.11",
"lint-staged": "^15.2.2",
"prettier": "^3.5.1",
"release-it": "^19.2.2",
"release-it-pnpm": "^4.6.6",
"semantic-release": "^24.2.7",
"turbo": "^2.5.3",
"typescript": "catalog:",
@@ -60,5 +64,8 @@
"prettier --write",
"eslint --fix --no-warn-ignored"
]
},
"resolutions": {
"conventional-changelog-conventionalcommits": "8.0.0"
}
}

1806
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,18 +3,12 @@
*/
export default {
branches: [
{
name: 'main',
},
'+([0-9])?(.{+([0-9]),x}).x',
'main',
{
name: 'dev',
prerelease: true,
channel: 'next',
},
{
name: 'media-scanner',
prerelease: true,
channel: 'media-scanner',
prerelease: 'dev',
channel: 'dev',
},
],
plugins: [