diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c268f19..751a8c07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: test: name: Lint & Test Build runs-on: ubuntu-20.04 - container: node:12.18-alpine + container: node:14.16-alpine steps: - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9a70cb17..6ddccdd1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ jobs: test: name: Lint & Test Build runs-on: ubuntu-20.04 - container: node:12.18-alpine + container: node:14.16-alpine steps: - name: checkout uses: actions/checkout@v2 @@ -33,7 +33,22 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v2 with: - node-version: 12 + node-version: 14 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.CR_PAT }} - name: Install dependencies run: yarn - name: Release diff --git a/package.json b/package.json index aca90054..f238c2ea 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "postcss-preset-env": "^6.7.0", "prettier": "^2.2.1", "semantic-release": "^17.4.1", - "semantic-release-docker": "^2.2.0", + "semantic-release-docker-buildx": "^1.0.1", "tailwindcss": "npm:@tailwindcss/postcss7-compat", "ts-node": "^9.1.1", "typescript": "^4.2.3" @@ -186,13 +186,7 @@ "message": "chore(release): ${nextRelease.version}" } ], - [ - "@semantic-release/exec", - { - "prepareCmd": "docker build --build-arg COMMIT_TAG=$GITHUB_SHA -t sctx/overseerr ." - } - ], - "semantic-release-docker", + "semantic-release-docker-buildx", [ "@semantic-release/github", { @@ -206,8 +200,19 @@ "npmPublish": false, "publish": [ { - "path": "semantic-release-docker", - "name": "sctx/overseerr" + "path": "semantic-release-docker-buildx", + "buildArgs": { + "COMMIT_TAG": "$GITHUB_SHA" + }, + "imageNames": [ + "sctx/overseerr", + "ghcr.io/sct/overseerr" + ], + "platforms": [ + "linux/amd64", + "linux/arm64", + "linux/arm/v7" + ] }, "@semantic-release/github" ] diff --git a/yarn.lock b/yarn.lock index d5868d48..acfdb433 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4749,17 +4749,6 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -6056,19 +6045,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -9613,11 +9589,6 @@ next@10.0.3: optionalDependencies: sharp "0.26.2" -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - node-abi@^2.7.0: version "2.19.3" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d" @@ -10698,7 +10669,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2, path-is-inside@~1.0.2: resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= @@ -12571,13 +12542,12 @@ secure-random@^1.1.2: resolved "https://registry.yarnpkg.com/secure-random/-/secure-random-1.1.2.tgz#ed103b460a851632d420d46448b2a900a41e7f7c" integrity sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ== -semantic-release-docker@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/semantic-release-docker/-/semantic-release-docker-2.2.0.tgz#9a5e1c8b4fe2b85063e1dc64e15550e7bf26c26f" - integrity sha512-p5pZuyD05ax2OIJY3MTa9ekPbnR7hw3Pzv79sDELx4/MwHdkxjoLNsbNHnH4RNfgyRYGUfnS3R0CnYv3e713FQ== +semantic-release-docker-buildx@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/semantic-release-docker-buildx/-/semantic-release-docker-buildx-1.0.1.tgz#9d63ee60638905bd4caba6e15190f091de4ded67" + integrity sha512-DU5OCNM2cDpjM1Gr83jJnPgxryQysPno9cvDbs0AY8NwUL/nZc5mZn59UZB9BjHtSKsjKX1pgRb0bFd7LWJOOQ== dependencies: - "@semantic-release/error" "^2.1.0" - execa "^0.10.0" + execa "^5.0.0" semantic-release@^17.4.1: version "17.4.1"