diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..6e9e97a --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,58 @@ +name: Build Release + +on: + push: + tags: + - 'v*.*' + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: write + pull-requests: read + env: + RELEASE_ZIP_FILENAME: ${{ github.event.repository.name }}-${{ github.ref_name }}.zip + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + + - name: Set up Node.js + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 + with: + node-version: '18.19.x' + + - name: Install dependencies + run: npm install + + - name: Build + run: npm run build + + - name: "Build Changelog" + id: build_changelog + uses: requarks/changelog-action@4a2c34a1a8fcfa9e48e61960aad0affc15066393 + with: + tag: ${{ github.ref_name }} + token: ${{ secrets.GITHUB_TOKEN }} + writeToFile: false + includeInvalidCommits: true + + - name: Compress files + run: | + (cd dist && zip -r ../$RELEASE_ZIP_FILENAME . -x "node_modules/*" "*/node_modules/*" $(test -f ../.releaseignore && echo "-x@../.releaseignore")) + + - name: Create the release + uses: softprops/action-gh-release@4634c16e79c963813287e889244c50009e7f0981 + with: + files: ${{ env.RELEASE_ZIP_FILENAME }} + body: ${{ steps.build_changelog.outputs.changes }} diff --git a/package.json b/package.json index 3c9a18d..bc2e875 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "degit": "^2.8.4" }, "scripts": { - "build": "rm -rf ./dist && degit github:IMAGINARY/sumory#v1.3.1 --mode=git --force dist && cp -R ./extras/* ./dist && cd ./dist/src && npm install && npm run build && cd .. && cd .." + "build": "rm -rf ./dist && degit github:IMAGINARY/sumory#v1.3.1 --force dist && cp -R ./extras/* ./dist && cd ./dist/src && npm install && npm run build && cd .. && cd .." }, "repository": { "type": "git",