Merge pull request #236 from immich-power-tools/tag-based-release

refactor: Migrate release process to tag-based
This commit is contained in:
Sai charan Guntupalli
2026-03-04 13:29:49 +05:30
committed by GitHub
3 changed files with 24 additions and 88 deletions
+24 -33
View File
@@ -1,42 +1,24 @@
name: ci
name: Release
on:
push:
branches:
- main
tags:
- "v*.*.*"
jobs:
release:
# Only run on the original repository, not forks
if: ${{ github.repository_owner == 'varun-raj' }}
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
new-release-published: ${{ steps.release.outputs.new-release-published }}
new-release-version: ${{ steps.release.outputs.new-release-version }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 22
- name: Run semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
id: release
run: |
npm install
npx semantic-release
build:
runs-on: ubuntu-latest
permissions:
contents: read
contents: write
packages: write
needs: release
if: always() && !failure()
steps:
- uses: actions/checkout@v3
- name: Extract version from tag
id: version
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
- uses: docker/metadata-action@v5
name: Docker meta
id: meta
@@ -44,17 +26,19 @@ jobs:
images: |
ghcr.io/${{ github.repository }}
tags: |
type=raw,value=latest,enable=${{ github.repository_owner != 'varun-raj' || needs.release.outputs.new-release-published == 'true' }}
type=semver,pattern={{major}}.{{minor}}.{{patch}},enable=${{ github.repository_owner == 'varun-raj' && needs.release.outputs.new-release-published == 'true' }}
type=raw,value=${{ needs.release.outputs.new-release-version }},enable=${{ needs.release.outputs.new-release-version != '' }}
type=raw,value=latest
type=semver,pattern={{major}}.{{minor}}.{{patch}}
type=raw,value=${{ github.ref_name }}
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
id: docker-build
uses: docker/build-push-action@v6
with:
context: .
@@ -65,4 +49,11 @@ jobs:
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ needs.release.outputs.new-release-version || 'dev' }}
VERSION=${{ steps.version.outputs.VERSION }}
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-49
View File
@@ -1,49 +0,0 @@
{
"branches": ["main"],
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "angular",
"releaseRules": [
{ "type": "docs", "release": false },
{ "type": "refactor", "release": false},
{ "type": "feat", "release": "minor" },
{ "type": "fix", "release": "patch" },
{ "type": "perf", "release": "patch" },
{ "type": "chore", "release": false }
]
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "angular",
"writerOpts":{
"headerPartial":"## {{#if isPatch~}} <small>{{~/if~}} 🚀 **Immich Power Tools** {{version}}{{~#if isPatch~}} </small>{{~/if}}"
}
}
],
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/github",
{
"assets": []
}
],
[
"@semantic-release/git",
{
"assets": ["package.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
["semantic-release-export-data"]
]
}
-6
View File
@@ -82,11 +82,6 @@
"zod": "^4.3.6"
},
"devDependencies": {
"@semantic-release/commit-analyzer": "^13.0.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^10.1.7",
"@semantic-release/npm": "^12.0.1",
"@semantic-release/release-notes-generator": "^14.0.1",
"@tanstack/eslint-plugin-query": "^5.68.0",
"@types/jsonwebtoken": "^9.0.6",
"@types/leaflet": "^1.9.15",
@@ -101,7 +96,6 @@
"eslint": "^8",
"eslint-config-next": "14.2.5",
"postcss": "^8.4.41",
"semantic-release-export-data": "^1.1.0",
"tailwindcss": "^3.4.10",
"typescript": "^5"
}