Build Packs #52
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a basic workflow that is manually triggered | |
name: Build Packs | |
# Controls when the action will run. Workflow runs when release is published. | |
on: | |
release: | |
types: [published] | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# This workflow contains a single job called buildPacks | |
buildPacks: | |
# The type of runner that the job will run on. This must be ubuntu for the zip command to work. | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Each step runs a single command using the runners shell. | |
# 1. Checkout our repository so we can do things on it. | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# 2. Make sure node is set up. This may be an unecessary step. | |
- name: Node Setup | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
# 3. Install the FoundryVTT CLI. | |
- run: npm install -g @foundryvtt/foundryvtt-cli | |
# 4. Configure the datapath as the github workspace variable. | |
- run: fvtt configure set "dataPath" ${GITHUB_WORKSPACE} | |
# 5. Tell the FVTT CLI that we are working on a "system" package. | |
- run: fvtt package workon fvtt package workon "deltagreen" --type "System" | |
# 6-11. Package each folder of source json files into the appropriate LevelDB pack. | |
- run: fvtt package pack "armor" --in "packs/source/armor" --out "packs" | |
- run: fvtt package pack "firearms" --in "packs/source/firearms" --out "packs" | |
- run: fvtt package pack "hand-to-hand-weapons" --in "packs/source/hand-to-hand-weapons" --out "packs" | |
- run: fvtt package pack "operation-code-name-generator" --in "packs/source/operation-code-name-generator" --out "packs" | |
- run: fvtt package pack "operation-code-name-generator-macro" --in "packs/source/operation-code-name-generator-macro" --out "packs" | |
- run: fvtt package pack "pregens" --in "packs/source/pregens" --out "packs" | |
# 12. Get the version number without the leading -v. | |
- name: Get Version | |
id: get_version | |
uses: dhkatz/[email protected] | |
# 13. Substitute the Manifest and Download URLs in the system.json | |
- name: Substitute Manifest, Download Links For Versioned Ones | |
uses: TomaszKandula/[email protected] | |
with: | |
files: "system.json" | |
env: | |
version: ${{steps.get_version.outputs.version-without-v}} | |
manifest: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/system.json | |
download: https://github.com/${{github.repository}}/releases/download/${{github.event.release.tag_name}}/deltagreen.zip | |
# 14. Zip up the branch with the LevelDB packs. | |
- name: Zip | |
# Exclude the source json files from the final package, as well as any git folders. | |
run: zip -r deltagreen.zip . --exclude="*packs/source/*" --exclude=".*" --exclude="package-lock.json" --exclude="package.json" | |
# 15. Updates the release with the newly zipped branch. See documentation of this action for details. | |
- name: Update Release with Artifacts | |
uses: ncipollo/[email protected] | |
with: | |
allowUpdates: true | |
name: ${{ github.event.release.name }} | |
tag: ${{ github.event.release.tag_name }} | |
body: ${{ github.event.release.body }} | |
artifacts: "./deltagreen.zip, ./system.json" | |
token: ${{ secrets.GITHUB_TOKEN }} |