From 2e64f1344ed0c43a4601ccf6c6e99d603eeb2104 Mon Sep 17 00:00:00 2001 From: RoboMagus <68224306+RoboMagus@users.noreply.github.com> Date: Thu, 10 Jul 2025 14:50:49 +0200 Subject: [PATCH] chore(ci): migrate to 'semantic-release-docker' to enable semver docker tags (#1610) --- package.json | 61 ++++++++++++++++++++++--------- pnpm-lock.yaml | 98 ++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 120 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index a3caf98ac..eff250b93 100644 --- a/package.json +++ b/package.json @@ -115,6 +115,7 @@ "zod": "3.24.2" }, "devDependencies": { + "@codedependant/semantic-release-docker": "^5.1.0", "@commitlint/cli": "17.4.4", "@commitlint/config-conventional": "17.4.4", "@semantic-release/changelog": "6.0.2", @@ -171,7 +172,6 @@ "prettier-plugin-organize-imports": "3.2.2", "prettier-plugin-tailwindcss": "0.2.3", "semantic-release": "19.0.5", - "semantic-release-docker-buildx": "1.0.1", "tailwindcss": "3.2.7", "ts-node": "10.9.1", "tsc-alias": "1.8.2", @@ -226,7 +226,49 @@ "message": "chore(release): ${nextRelease.version}" } ], - "semantic-release-docker-buildx", + [ + "@codedependant/semantic-release-docker", + { + "dockerArgs": { + "COMMIT_TAG": "$GIT_SHA" + }, + "dockerLogin": false, + "dockerProject": "fallenbagel", + "dockerImage": "jellyseerr", + "dockerTags": [ + "latest", + "{{major}}", + "{{major}}.{{minor}}", + "{{major}}.{{minor}}.{{patch}}" + ], + "dockerPlatform": [ + "linux/amd64", + "linux/arm64" + ] + } + ], + [ + "@codedependant/semantic-release-docker", + { + "dockerArgs": { + "COMMIT_TAG": "$GIT_SHA" + }, + "dockerLogin": false, + "dockerRegistry": "ghcr.io", + "dockerProject": "fallenbagel", + "dockerImage": "jellyseerr", + "dockerTags": [ + "latest", + "{{major}}", + "{{major}}.{{minor}}", + "{{major}}.{{minor}}.{{patch}}" + ], + "dockerPlatform": [ + "linux/amd64", + "linux/arm64" + ] + } + ], [ "@semantic-release/github", { @@ -239,20 +281,7 @@ ], "npmPublish": false, "publish": [ - { - "path": "semantic-release-docker-buildx", - "buildArgs": { - "COMMIT_TAG": "$GIT_SHA" - }, - "imageNames": [ - "fallenbagel/jellyseerr", - "ghcr.io/fallenbagel/jellyseerr" - ], - "platforms": [ - "linux/amd64", - "linux/arm64" - ] - }, + "@codedependant/semantic-release-docker", "@semantic-release/github" ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f32923f6..96feb34a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -252,6 +252,9 @@ importers: specifier: 3.24.2 version: 3.24.2 devDependencies: + '@codedependant/semantic-release-docker': + specifier: ^5.1.0 + version: 5.1.0 '@commitlint/cli': specifier: 17.4.4 version: 17.4.4(@swc/core@1.6.5(@swc/helpers@0.5.11)) @@ -420,9 +423,6 @@ importers: semantic-release: specifier: 19.0.5 version: 19.0.5(encoding@0.1.13) - semantic-release-docker-buildx: - specifier: 1.0.1 - version: 1.0.1(semantic-release@19.0.5(encoding@0.1.13)) tailwindcss: specifier: 3.2.7 version: 3.2.7(postcss@8.4.31)(ts-node@10.9.1(@swc/core@1.6.5(@swc/helpers@0.5.11))(@types/node@22.10.5)(typescript@4.9.5)) @@ -441,6 +441,18 @@ importers: packages: + '@actions/core@1.11.1': + resolution: {integrity: sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==} + + '@actions/exec@1.1.1': + resolution: {integrity: sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==} + + '@actions/http-client@2.2.3': + resolution: {integrity: sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==} + + '@actions/io@1.1.3': + resolution: {integrity: sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -1456,6 +1468,9 @@ packages: resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} engines: {node: '>=6.9.0'} + '@codedependant/semantic-release-docker@5.1.0': + resolution: {integrity: sha512-Ok37Hrj3y2AeZA4nBHzXNPR+twZHbAnGY2vXV3V3MC9xP676PnP67eBpzP5zLodxBXqRFKixo8QiQhQJ8nnXbQ==} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -1658,6 +1673,10 @@ packages: resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + '@floating-ui/core@1.6.2': resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} @@ -8449,11 +8468,6 @@ packages: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - semantic-release-docker-buildx@1.0.1: - resolution: {integrity: sha512-DU5OCNM2cDpjM1Gr83jJnPgxryQysPno9cvDbs0AY8NwUL/nZc5mZn59UZB9BjHtSKsjKX1pgRb0bFd7LWJOOQ==} - peerDependencies: - semantic-release: '>=11.0.0 <18.0.0' - semantic-release@19.0.5: resolution: {integrity: sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA==} engines: {node: '>=16 || ^14.17'} @@ -9139,6 +9153,10 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} @@ -9310,6 +9328,10 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} + engines: {node: '>=14.0'} + undici@7.3.0: resolution: {integrity: sha512-Qy96NND4Dou5jKoSJ2gm8ax8AJM/Ey9o9mz7KN1bb9GP+G0l20Zw8afxTnY2f4b7hmhn/z8aC2kfArVQlAhFBw==} engines: {node: '>=20.18.1'} @@ -9729,6 +9751,22 @@ packages: snapshots: + '@actions/core@1.11.1': + dependencies: + '@actions/exec': 1.1.1 + '@actions/http-client': 2.2.3 + + '@actions/exec@1.1.1': + dependencies: + '@actions/io': 1.1.3 + + '@actions/http-client@2.2.3': + dependencies: + tunnel: 0.0.6 + undici: 5.29.0 + + '@actions/io@1.1.3': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -9769,7 +9807,7 @@ snapshots: '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -11160,6 +11198,17 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@codedependant/semantic-release-docker@5.1.0': + dependencies: + '@actions/core': 1.11.1 + '@semantic-release/error': 3.0.0 + debug: 4.4.0(supports-color@5.5.0) + execa: 4.1.0 + handlebars: 4.7.8 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + '@colors/colors@1.5.0': {} '@colors/colors@1.6.0': {} @@ -11490,7 +11539,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -11503,6 +11552,8 @@ snapshots: '@eslint/js@8.35.0': {} + '@fastify/busboy@2.1.1': {} + '@floating-ui/core@1.6.2': dependencies: '@floating-ui/utils': 0.2.2 @@ -11654,7 +11705,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -13344,7 +13395,7 @@ snapshots: '@octokit/plugin-throttling': 5.2.3(@octokit/core@4.2.4(encoding@0.1.13)) '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) dir-glob: 3.0.1 fs-extra: 11.2.0 globby: 11.1.0 @@ -13383,7 +13434,7 @@ snapshots: conventional-changelog-writer: 5.0.1 conventional-commits-filter: 2.0.7 conventional-commits-parser: 3.2.4 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) get-stream: 6.0.1 import-from: 4.0.0 into-stream: 6.0.0 @@ -13904,7 +13955,7 @@ snapshots: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/typescript-estree': 7.2.0(typescript@4.9.5) '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) eslint: 8.35.0 optionalDependencies: typescript: 4.9.5 @@ -13925,7 +13976,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 5.54.0(typescript@4.9.5) '@typescript-eslint/utils': 5.54.0(eslint@8.35.0)(typescript@4.9.5) - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) eslint: 8.35.0 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: @@ -13943,7 +13994,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.45.0 '@typescript-eslint/visitor-keys': 5.45.0 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.7.1 @@ -13957,7 +14008,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.54.0 '@typescript-eslint/visitor-keys': 5.54.0 - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.7.1 @@ -15808,7 +15859,7 @@ snapshots: eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.35.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.35.0): dependencies: - debug: 4.3.5 + debug: 4.4.0(supports-color@5.5.0) enhanced-resolve: 5.17.0 eslint: 8.35.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.35.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.35.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.35.0))(eslint@8.35.0) @@ -19843,11 +19894,6 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - semantic-release-docker-buildx@1.0.1(semantic-release@19.0.5(encoding@0.1.13)): - dependencies: - execa: 5.1.1 - semantic-release: 19.0.5(encoding@0.1.13) - semantic-release@19.0.5(encoding@0.1.13): dependencies: '@semantic-release/commit-analyzer': 9.0.2(semantic-release@19.0.5(encoding@0.1.13)) @@ -20648,6 +20694,8 @@ snapshots: dependencies: safe-buffer: 5.2.1 + tunnel@0.0.6: {} + tweetnacl@0.14.5: {} type-check@0.4.0: @@ -20779,6 +20827,10 @@ snapshots: undici-types@6.20.0: {} + undici@5.29.0: + dependencies: + '@fastify/busboy': 2.1.1 + undici@7.3.0: {} unicode-canonical-property-names-ecmascript@2.0.0: {}