diff --git a/.github/workflows/github-releases-to-discord.yml b/.github/workflows/github-releases-to-discord.yml index c619299..fa11c77 100644 --- a/.github/workflows/github-releases-to-discord.yml +++ b/.github/workflows/github-releases-to-discord.yml @@ -1,8 +1,12 @@ name: Github Releases to Discord on: + workflow_run: + workflows: [Release Creation] + types: + - completed release: - types: [published] + types: [ published ] jobs: github-releases-to-discord: diff --git a/.github/workflows/publish-to-foundry.yml b/.github/workflows/publish-to-foundry.yml index a970461..f8f9768 100644 --- a/.github/workflows/publish-to-foundry.yml +++ b/.github/workflows/publish-to-foundry.yml @@ -1,8 +1,12 @@ name: Publish Module to FoundryVTT Website on: + workflow_run: + workflows: [Github Releases to Discord] + types: + - completed release: - types: [published] + types: [ published ] jobs: publish-module-to-foundryvtt: diff --git a/.github/workflows/main.yml b/.github/workflows/release-creation.yml similarity index 97% rename from .github/workflows/main.yml rename to .github/workflows/release-creation.yml index a8a2b54..9b908c1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/release-creation.yml @@ -1,133 +1,133 @@ -name: Release Creation - -on: - release: - types: [ published ] - -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/checkout@v4.1.1 - - # Substitute the Manifest and Download URLs in the module.json - - - name: Substitute Manifest and Download Links For Versioned Ones - id: sub_release_manifest_version - uses: microsoft/variable-substitution@v1 - with: - files: 'src/module.json' - env: - version: ${{github.event.release.tag_name}} - url: https://github.com/${{github.repository}} - manifest: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.json - download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip - - # for a FULL RELEASE - # - name: Substitute Manifest and Download Links For Versioned Ones - # if: "!github.event.release.prerelease" - # id: sub_release_manifest_version - # uses: microsoft/variable-substitution@v1 - # with: - # files: 'module.json' - # env: - # version: ${{github.event.release.tag_name}} - # url: https://github.com/${{github.repository}} - # manifest: https://github.com/${{github.repository}}/releases/latest/download/module.json - # download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip - - # Substitute the Manifest and Download URLs in the module.json - # for a PRE RELEASE. Manifest pointing to live module.json on branch, - # which is updated after tag. - # - name: Substitute Manifest and Download Links For Versioned Ones - # if: "github.event.release.prerelease" - # id: sub_prerelease_manifest_version - # uses: microsoft/variable-substitution@v1 - # with: - # files: 'module.json' - # env: - # version: ${{github.event.release.tag_name}} - # url: https://github.com/${{github.repository}} - # manifest: https://raw.githubusercontent.com/${{github.repository}}/next/module.json - # download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip - - # Install packages. - - run: npm install - - # Build distribution. - - run: npm run build - - - run: mkdir package - - - run: mv -v ./dist/* ./package/ - - # Create a zip file with all files required by the module to add to the release - #- run: zip -r ./module.zip module.json LICENSE module.js module.js.map style.css templates/ languages/ packs/ assets/ - # - run: zip -r ./package/module.zip ./package/* - - # && ensures that zip only runs if the directory was correctly changed, - # and the parentheses run everything in a subshell, so the current directory - # is restored at the end. Using OLDPWD avoids having to calculate the relative path to package.zip. - # https://unix.stackexchange.com/questions/385405/zip-all-files-and-subfolder-in-directory-without-parent-directory - - run: (cd package && zip -r "$OLDPWD/module.zip" .) - - - name: Update Release with Files - id: create_version_release - uses: ncipollo/release-action@v1.14.0 - with: - allowUpdates: true # Set this to false if you want to prevent updating existing releases - name: ${{ github.event.release.name }} - draft: false - prerelease: false - token: ${{ secrets.GITHUB_TOKEN }} - artifacts: './src/module.json, ./module.zip' - tag: ${{ github.event.release.tag_name }} - body: ${{ github.event.release.body }} - - # Create a release for this specific version - # - name: Update Release with Files - # if: "!github.event.release.prerelease" - # id: create_version_release - # uses: ncipollo/release-action@v1 - # with: - # allowUpdates: true # Set this to false if you want to prevent updating existing releases - # name: ${{ github.event.release.name }} - # draft: false - # prerelease: false - # token: ${{ secrets.GITHUB_TOKEN }} - # artifacts: './module.json, ./module.zip' - # tag: ${{ github.event.release.tag_name }} - # body: ${{ github.event.release.body }} - - # OR create a pre-release for this specific version - # - name: Update Release with Files - # if: "github.event.release.prerelease" - # id: create_version_prerelease - # uses: ncipollo/release-action@v1 - # with: - # allowUpdates: true # Set this to false if you want to prevent updating existing releases - # name: ${{ github.event.release.name }} - # draft: false - # prerelease: true - # token: ${{ secrets.GITHUB_TOKEN }} - # artifacts: './module.json, ./module.zip' - # tag: ${{ github.event.release.tag_name }} - # body: ${{ github.event.release.body }} - - #update next branch - # - name: Prepare repository - # if: "github.event.release.prerelease" - # run: | - # git config --global user.name '${{github.actor}}' - # git config --global user.email '${{github.actor}}@users.noreply.github.com' - # git add module.json - # git stash - # git clean -f - # git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY" - # git fetch origin "next" - # git switch -c "next" "origin/next" - # git checkout stash module.json - # git commit -m "${{github.event.release.tag_name}} manifest" - # git push -f +name: Release Creation + +on: + release: + types: [ published ] + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4.1.1 + + # Substitute the Manifest and Download URLs in the module.json + + - name: Substitute Manifest and Download Links For Versioned Ones + id: sub_release_manifest_version + uses: microsoft/variable-substitution@v1 + with: + files: 'src/module.json' + env: + version: ${{github.event.release.tag_name}} + url: https://github.com/${{github.repository}} + manifest: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.json + download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip + + # for a FULL RELEASE + # - name: Substitute Manifest and Download Links For Versioned Ones + # if: "!github.event.release.prerelease" + # id: sub_release_manifest_version + # uses: microsoft/variable-substitution@v1 + # with: + # files: 'module.json' + # env: + # version: ${{github.event.release.tag_name}} + # url: https://github.com/${{github.repository}} + # manifest: https://github.com/${{github.repository}}/releases/latest/download/module.json + # download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip + + # Substitute the Manifest and Download URLs in the module.json + # for a PRE RELEASE. Manifest pointing to live module.json on branch, + # which is updated after tag. + # - name: Substitute Manifest and Download Links For Versioned Ones + # if: "github.event.release.prerelease" + # id: sub_prerelease_manifest_version + # uses: microsoft/variable-substitution@v1 + # with: + # files: 'module.json' + # env: + # version: ${{github.event.release.tag_name}} + # url: https://github.com/${{github.repository}} + # manifest: https://raw.githubusercontent.com/${{github.repository}}/next/module.json + # download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip + + # Install packages. + - run: npm install + + # Build distribution. + - run: npm run build + + - run: mkdir package + + - run: mv -v ./dist/* ./package/ + + # Create a zip file with all files required by the module to add to the release + #- run: zip -r ./module.zip module.json LICENSE module.js module.js.map style.css templates/ languages/ packs/ assets/ + # - run: zip -r ./package/module.zip ./package/* + + # && ensures that zip only runs if the directory was correctly changed, + # and the parentheses run everything in a subshell, so the current directory + # is restored at the end. Using OLDPWD avoids having to calculate the relative path to package.zip. + # https://unix.stackexchange.com/questions/385405/zip-all-files-and-subfolder-in-directory-without-parent-directory + - run: (cd package && zip -r "$OLDPWD/module.zip" .) + + - name: Update Release with Files + id: create_version_release + uses: ncipollo/release-action@v1.14.0 + with: + allowUpdates: true # Set this to false if you want to prevent updating existing releases + name: ${{ github.event.release.name }} + draft: false + prerelease: false + token: ${{ secrets.GITHUB_TOKEN }} + artifacts: './src/module.json, ./module.zip' + tag: ${{ github.event.release.tag_name }} + body: ${{ github.event.release.body }} + + # Create a release for this specific version + # - name: Update Release with Files + # if: "!github.event.release.prerelease" + # id: create_version_release + # uses: ncipollo/release-action@v1 + # with: + # allowUpdates: true # Set this to false if you want to prevent updating existing releases + # name: ${{ github.event.release.name }} + # draft: false + # prerelease: false + # token: ${{ secrets.GITHUB_TOKEN }} + # artifacts: './module.json, ./module.zip' + # tag: ${{ github.event.release.tag_name }} + # body: ${{ github.event.release.body }} + + # OR create a pre-release for this specific version + # - name: Update Release with Files + # if: "github.event.release.prerelease" + # id: create_version_prerelease + # uses: ncipollo/release-action@v1 + # with: + # allowUpdates: true # Set this to false if you want to prevent updating existing releases + # name: ${{ github.event.release.name }} + # draft: false + # prerelease: true + # token: ${{ secrets.GITHUB_TOKEN }} + # artifacts: './module.json, ./module.zip' + # tag: ${{ github.event.release.tag_name }} + # body: ${{ github.event.release.body }} + + #update next branch + # - name: Prepare repository + # if: "github.event.release.prerelease" + # run: | + # git config --global user.name '${{github.actor}}' + # git config --global user.email '${{github.actor}}@users.noreply.github.com' + # git add module.json + # git stash + # git clean -f + # git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY" + # git fetch origin "next" + # git switch -c "next" "origin/next" + # git checkout stash module.json + # git commit -m "${{github.event.release.tag_name}} manifest" + # git push -f