diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index acb4b17..d4204e8 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -30,26 +30,15 @@ jobs: - name: Show env file run: | /bin/cat .env.local - - name: Build Project - run: npm run build - - name: Set VERSION from VERSION file - id: get_version + - name: Set GITEA_TOKEN variable + run: echo "GITEA_TOKEN=${{ secrets.GT_TOKEN }}" >> $GITEA_ENV + - name: Build and Release + id: build run: | - VERSION=$(cat VERSION) - echo "VERSION=$VERSION" - echo "::set-output name=VERSION::$VERSION" - - name: Tarfile - run: | - cd dist/pwa - tar czf ../../build-${{ steps.get_version.outputs.VERSION }}.tar.gz . - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: build-artifact-${{ steps.get_version.outputs.VERSION }}.${{ gitea.run_number }} - path: build-${{ steps.get_version.outputs.VERSION }}.tar.gz + semantic-version - name: Trigger Ansible Deploy Playbook uses: https://github.com/distributhor/workflow-webhook@v3 with: webhook_url: ${{ vars.WEBHOOK_URL }} verbose: true - data: '{ "artifact_url": "${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id}}/artifacts/build-artifact-${{ steps.get_version.outputs.VERSION }}.${{ gitea.run_number }}" }' + data: '{ "artifact_url": "${{ gitea.server_url }}/${{ gitea.repository }}/releases/download/${{ steps.build.outputs.VERSION }}/release-${{ steps.build.outputs.VERSION }}.tar.gz" }' diff --git a/.gitignore b/.gitignore index 8d88443..923ecae 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,5 @@ yarn-error.log* # version file src/version.js VERSION +release-*.gz +CHANGELOG.md diff --git a/.releaserc.json b/.releaserc.json index 7f529ae..25918dd 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -8,15 +8,18 @@ "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", + "@semantic-release/changelog", + [ + "@semantic-release/exec", + { + "prepareCmd": "quasar build -m pwa", + "publishCmd": "tar -czvf release-${nextRelease.version}.tar.gz dist/pwa && echo '::set-output name=VERSION::${nextRelease.version}'" + } + ], [ "@saithodev/semantic-release-gitea", { - "assets": [ - { - "path": "dist/build-*.tar.gz", - "label": "package distribution" - } - ] + "assets": ["release-${nextRelease.version}.tar.gz"] } ] ] diff --git a/package.json b/package.json index bb693dd..cae27b9 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@quasar/app-vite": "^1.9.1", "@saithodev/semantic-release-gitea": "^2.1.0", "@semantic-release/changelog": "^6.0.3", + "@semantic-release/exec": "^6.0.3", "@semantic-release/github": "^10.0.6", "@semantic-release/npm": "^12.0.1", "@types/node": "^12.20.21", diff --git a/yarn.lock b/yarn.lock index 392f9ec..11d2f42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1586,6 +1586,18 @@ resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-4.0.0.tgz#692810288239637f74396976a9340fbc0aa9f6f9" integrity sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ== +"@semantic-release/exec@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@semantic-release/exec/-/exec-6.0.3.tgz#d212fdf19633bdfb553de6cb6c7f8781933224db" + integrity sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ== + dependencies: + "@semantic-release/error" "^3.0.0" + aggregate-error "^3.0.0" + debug "^4.0.0" + execa "^5.0.0" + lodash "^4.17.4" + parse-json "^5.0.0" + "@semantic-release/github@^10.0.0", "@semantic-release/github@^10.0.6": version "10.0.6" resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-10.0.6.tgz#58cdec447a423f5be9a6a4c912cbc422307f695b" @@ -3889,6 +3901,21 @@ execa@^4.0.3: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + execa@^8.0.0: version "8.0.1" resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" @@ -4640,6 +4667,11 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + human-signals@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" @@ -6159,7 +6191,7 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== @@ -6360,7 +6392,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.2.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -7170,7 +7202,7 @@ side-channel@^1.0.4, side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==