ci(docker): fix cannot be deployed by linux arm64

This commit is contained in:
ElyPrism 2025-12-06 23:00:49 +08:00
parent 205ac7292f
commit ca6834b83f
5 changed files with 41 additions and 49 deletions

View File

@ -3,7 +3,7 @@ name: Publish Docker image
on: on:
push: push:
branches: [main, master] branches: [main, master]
tags: ["v*"] tags: ['v*']
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@ -23,6 +23,12 @@ jobs:
id: pkg id: pkg
run: echo "VERSION=$(jq -r .version package.json)" >> $GITHUB_ENV run: echo "VERSION=$(jq -r .version package.json)" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
@ -46,4 +52,4 @@ jobs:
moefurina/ncm-api:${{ env.VERSION }} moefurina/ncm-api:${{ env.VERSION }}
ghcr.io/neteasecloudmusicapienhanced/ncm-api:latest ghcr.io/neteasecloudmusicapienhanced/ncm-api:latest
ghcr.io/neteasecloudmusicapienhanced/ncm-api:${{ env.VERSION }} ghcr.io/neteasecloudmusicapienhanced/ncm-api:${{ env.VERSION }}
platforms: linux/amd64 platforms: linux/amd64,linux/arm64/v8

View File

@ -2,7 +2,6 @@
name: Release name: Release
on: on:
push:
workflow_dispatch: workflow_dispatch:
jobs: jobs:

View File

@ -70,11 +70,11 @@
"axios": "^1.13.2", "axios": "^1.13.2",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"dotenv": "^17.2.3", "dotenv": "^17.2.3",
"express": "^5.1.0", "express": "^5.2.1",
"express-fileupload": "^1.5.2", "express-fileupload": "^1.5.2",
"md5": "^2.3.0", "md5": "^2.3.0",
"music-metadata": "^11.10.3", "music-metadata": "^11.10.3",
"node-forge": "^1.3.2", "node-forge": "^1.3.3",
"pac-proxy-agent": "^7.2.0", "pac-proxy-agent": "^7.2.0",
"qrcode": "^1.5.4", "qrcode": "^1.5.4",
"safe-decode-uri-component": "^1.2.1", "safe-decode-uri-component": "^1.2.1",
@ -85,7 +85,7 @@
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3.3.3", "@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.1", "@eslint/js": "^9.39.1",
"@types/express": "^5.0.5", "@types/express": "^5.0.6",
"@types/express-fileupload": "^1.5.1", "@types/express-fileupload": "^1.5.1",
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",
"@types/node": "24.10.0", "@types/node": "24.10.0",

73
pnpm-lock.yaml generated
View File

@ -21,8 +21,8 @@ importers:
specifier: ^17.2.3 specifier: ^17.2.3
version: 17.2.3 version: 17.2.3
express: express:
specifier: ^5.1.0 specifier: ^5.2.1
version: 5.1.0 version: 5.2.1
express-fileupload: express-fileupload:
specifier: ^1.5.2 specifier: ^1.5.2
version: 1.5.2 version: 1.5.2
@ -33,8 +33,8 @@ importers:
specifier: ^11.10.3 specifier: ^11.10.3
version: 11.10.3 version: 11.10.3
node-forge: node-forge:
specifier: ^1.3.2 specifier: ^1.3.3
version: 1.3.2 version: 1.3.3
pac-proxy-agent: pac-proxy-agent:
specifier: ^7.2.0 specifier: ^7.2.0
version: 7.2.0 version: 7.2.0
@ -61,8 +61,8 @@ importers:
specifier: ^9.39.1 specifier: ^9.39.1
version: 9.39.1 version: 9.39.1
'@types/express': '@types/express':
specifier: ^5.0.5 specifier: ^5.0.6
version: 5.0.5 version: 5.0.6
'@types/express-fileupload': '@types/express-fileupload':
specifier: ^1.5.1 specifier: ^1.5.1
version: 1.5.1 version: 1.5.1
@ -273,8 +273,8 @@ packages:
'@types/express-serve-static-core@5.1.0': '@types/express-serve-static-core@5.1.0':
resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==} resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==}
'@types/express@5.0.5': '@types/express@5.0.6':
resolution: {integrity: sha512-LuIQOcb6UmnF7C1PCFmEU1u2hmiHL43fgFQX67sN3H4Z+0Yk0Neo++mFsBjhOAuLzvlQeqAAkeDOZrJs9rzumQ==} resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==}
'@types/http-errors@2.0.5': '@types/http-errors@2.0.5':
resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
@ -282,9 +282,6 @@ packages:
'@types/json-schema@7.0.15': '@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/mime@1.3.5':
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
'@types/mocha@10.0.10': '@types/mocha@10.0.10':
resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==}
@ -297,14 +294,11 @@ packages:
'@types/range-parser@1.2.7': '@types/range-parser@1.2.7':
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
'@types/send@0.17.6':
resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==}
'@types/send@1.2.1': '@types/send@1.2.1':
resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==}
'@types/serve-static@1.15.10': '@types/serve-static@2.2.0':
resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==}
'@typescript-eslint/eslint-plugin@8.46.2': '@typescript-eslint/eslint-plugin@8.46.2':
resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==} resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==}
@ -1059,8 +1053,8 @@ packages:
resolution: {integrity: sha512-wxUJn2vTHvj/kZCVmc5/bJO15C7aSMyHeuXYY3geKpeKibaAoQGcEv5+sM6nHS2T7VF+QHS4hTWPiY2mKofEdg==} resolution: {integrity: sha512-wxUJn2vTHvj/kZCVmc5/bJO15C7aSMyHeuXYY3geKpeKibaAoQGcEv5+sM6nHS2T7VF+QHS4hTWPiY2mKofEdg==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
express@5.1.0: express@5.2.1:
resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
engines: {node: '>= 18'} engines: {node: '>= 18'}
ext@1.7.0: ext@1.7.0:
@ -1104,9 +1098,9 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'} engines: {node: '>=8'}
finalhandler@2.1.0: finalhandler@2.1.1:
resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
engines: {node: '>= 0.8'} engines: {node: '>= 18.0.0'}
find-up@4.1.0: find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
@ -1716,8 +1710,8 @@ packages:
encoding: encoding:
optional: true optional: true
node-forge@1.3.2: node-forge@1.3.3:
resolution: {integrity: sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==} resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==}
engines: {node: '>= 6.13.0'} engines: {node: '>= 6.13.0'}
node-windows@1.0.0-beta.8: node-windows@1.0.0-beta.8:
@ -2511,8 +2505,8 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'} engines: {node: '>=10'}
yaml@2.8.1: yaml@2.8.2:
resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
engines: {node: '>= 14.6'} engines: {node: '>= 14.6'}
hasBin: true hasBin: true
@ -2710,7 +2704,7 @@ snapshots:
'@types/express-fileupload@1.5.1': '@types/express-fileupload@1.5.1':
dependencies: dependencies:
'@types/busboy': 1.5.4 '@types/busboy': 1.5.4
'@types/express': 5.0.5 '@types/express': 5.0.6
'@types/express-serve-static-core@5.1.0': '@types/express-serve-static-core@5.1.0':
dependencies: dependencies:
@ -2719,18 +2713,16 @@ snapshots:
'@types/range-parser': 1.2.7 '@types/range-parser': 1.2.7
'@types/send': 1.2.1 '@types/send': 1.2.1
'@types/express@5.0.5': '@types/express@5.0.6':
dependencies: dependencies:
'@types/body-parser': 1.19.6 '@types/body-parser': 1.19.6
'@types/express-serve-static-core': 5.1.0 '@types/express-serve-static-core': 5.1.0
'@types/serve-static': 1.15.10 '@types/serve-static': 2.2.0
'@types/http-errors@2.0.5': {} '@types/http-errors@2.0.5': {}
'@types/json-schema@7.0.15': {} '@types/json-schema@7.0.15': {}
'@types/mime@1.3.5': {}
'@types/mocha@10.0.10': {} '@types/mocha@10.0.10': {}
'@types/node@24.10.0': '@types/node@24.10.0':
@ -2741,20 +2733,14 @@ snapshots:
'@types/range-parser@1.2.7': {} '@types/range-parser@1.2.7': {}
'@types/send@0.17.6':
dependencies:
'@types/mime': 1.3.5
'@types/node': 24.10.0
'@types/send@1.2.1': '@types/send@1.2.1':
dependencies: dependencies:
'@types/node': 24.10.0 '@types/node': 24.10.0
'@types/serve-static@1.15.10': '@types/serve-static@2.2.0':
dependencies: dependencies:
'@types/http-errors': 2.0.5 '@types/http-errors': 2.0.5
'@types/node': 24.10.0 '@types/node': 24.10.0
'@types/send': 0.17.6
'@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.3(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3)': '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.3(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3)':
dependencies: dependencies:
@ -3684,7 +3670,7 @@ snapshots:
dependencies: dependencies:
busboy: 1.6.0 busboy: 1.6.0
express@5.1.0: express@5.2.1:
dependencies: dependencies:
accepts: 2.0.0 accepts: 2.0.0
body-parser: 2.2.1 body-parser: 2.2.1
@ -3693,10 +3679,11 @@ snapshots:
cookie: 0.7.2 cookie: 0.7.2
cookie-signature: 1.2.2 cookie-signature: 1.2.2
debug: 4.4.3 debug: 4.4.3
depd: 2.0.0
encodeurl: 2.0.0 encodeurl: 2.0.0
escape-html: 1.0.3 escape-html: 1.0.3
etag: 1.8.1 etag: 1.8.1
finalhandler: 2.1.0 finalhandler: 2.1.1
fresh: 2.0.0 fresh: 2.0.0
http-errors: 2.0.1 http-errors: 2.0.1
merge-descriptors: 2.0.0 merge-descriptors: 2.0.0
@ -3761,7 +3748,7 @@ snapshots:
dependencies: dependencies:
to-regex-range: 5.0.1 to-regex-range: 5.0.1
finalhandler@2.1.0: finalhandler@2.1.1:
dependencies: dependencies:
debug: 4.4.3 debug: 4.4.3
encodeurl: 2.0.0 encodeurl: 2.0.0
@ -4232,7 +4219,7 @@ snapshots:
nano-spawn: 2.0.0 nano-spawn: 2.0.0
pidtree: 0.6.0 pidtree: 0.6.0
string-argv: 0.3.2 string-argv: 0.3.2
yaml: 2.8.1 yaml: 2.8.2
listr2@9.0.5: listr2@9.0.5:
dependencies: dependencies:
@ -4392,7 +4379,7 @@ snapshots:
dependencies: dependencies:
whatwg-url: 5.0.0 whatwg-url: 5.0.0
node-forge@1.3.2: {} node-forge@1.3.3: {}
node-windows@1.0.0-beta.8: node-windows@1.0.0-beta.8:
dependencies: dependencies:
@ -5372,7 +5359,7 @@ snapshots:
y18n@5.0.8: {} y18n@5.0.8: {}
yaml@2.8.1: {} yaml@2.8.2: {}
yargs-parser@18.1.3: yargs-parser@18.1.3:
dependencies: dependencies: