Initial commit
This commit is contained in:
commit
c983d9b91b
20 changed files with 5729 additions and 0 deletions
102
.github/workflows/main.yml
vendored
Normal file
102
.github/workflows/main.yml
vendored
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
name: Create Module Files For GitHub Release
|
||||
|
||||
env:
|
||||
# The URL used for the module's "Project URL" link on FoundryVTT's website.
|
||||
project_url: "https://github.com/${{github.repository}}"
|
||||
|
||||
# A URL that will always point to the latest manifest.
|
||||
# FoundryVTT uses this URL to check whether the current module version that
|
||||
# is installed is the latest version. This URL should NOT change,
|
||||
# otherwise FoundryVTT won't be able to perform this check.
|
||||
latest_manifest_url: "https://github.com/${{github.repository}}/releases/latest/download/module.json"
|
||||
|
||||
# The URL to the module archive associated with the module release being
|
||||
# processed by this workflow.
|
||||
release_module_url: "https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/module.zip"
|
||||
|
||||
on:
|
||||
# Only run this workflow when a release is published.
|
||||
# To modify this workflow when other events occur, see:
|
||||
# - https://docs.github.com/en/actions/using-workflows/triggering-a-workflow
|
||||
# - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
|
||||
# - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
|
||||
#
|
||||
# Note that some steps may depend on context variables that are only
|
||||
# available for release events, so if you add other events, you may need to
|
||||
# alter other parts of this workflow.
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Extract version embedded in the tag.
|
||||
# This step expects the tag to be one of the following formats:
|
||||
# - "v<major>.<minor>.<patch>" (e.g., "v1.2.3")
|
||||
# - "<major>.<minor>.<patch>" (e.g., "1.2.3")
|
||||
#
|
||||
# The version will be used by later steps to fill in the value for the
|
||||
# "version" key required for a valid module manifest.
|
||||
- name: Extract Version From Tag
|
||||
id: get_version
|
||||
uses: battila7/get-version-action@v2
|
||||
|
||||
# Modify "module.json" with values specific to the release.
|
||||
# Since the values for the "version" and "url" keys aren't known ahead of
|
||||
# time, the manifest file in the repository is updated with these values.
|
||||
#
|
||||
# While this does modify the manifest file in-place, the changes are not
|
||||
# commited to the repository, and only exist in the action's filesystem.
|
||||
- name: Modify Module Manifest With Release-Specific Values
|
||||
id: sub_manifest_link_version
|
||||
uses: cschleiden/replace-tokens@v1
|
||||
with:
|
||||
files: 'module.json'
|
||||
env:
|
||||
VERSION: ${{steps.get_version.outputs.version-without-v}}
|
||||
URL: ${{ env.project_url }}
|
||||
MANIFEST: ${{ env.latest_manifest_url }}
|
||||
DOWNLOAD: ${{ env.release_module_url }}
|
||||
|
||||
# Create a "module.zip" archive containing all the module's required files.
|
||||
# If you have other directories or files that will need to be added to
|
||||
# your packaged module, add them here.
|
||||
- name: Create Module Archive
|
||||
run: |
|
||||
# Note that `zip` will only emit warnings when a file or directory
|
||||
# doesn't exist, it will not fail.
|
||||
zip \
|
||||
`# Options` \
|
||||
--recurse-paths \
|
||||
`# The name of the output file` \
|
||||
./module.zip \
|
||||
`# The files that will be included.` \
|
||||
module.json \
|
||||
readme.md \
|
||||
LICENSE \
|
||||
languages/ \
|
||||
scripts/ \
|
||||
styles/ \
|
||||
# Don't forget to add a backslash at the end of the line for any
|
||||
# additional files or directories!
|
||||
|
||||
# Update the GitHub release with the manifest and module archive files.
|
||||
- name: Update Release with Files
|
||||
id: create_version_release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
name: ${{ github.event.release.name }}
|
||||
draft: ${{ github.event.release.unpublished }}
|
||||
prerelease: ${{ github.event.release.prerelease }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
artifacts: './module.json, ./module.zip'
|
||||
tag: ${{ github.event.release.tag_name }}
|
||||
body: ${{ github.event.release.body }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue