Skip to content

Instantly share code, notes, and snippets.

@CodaBool
Created May 30, 2026 02:14
Show Gist options
  • Select an option

  • Save CodaBool/8579216f904d3a71a43cfb1cdee66575 to your computer and use it in GitHub Desktop.

Select an option

Save CodaBool/8579216f904d3a71a43cfb1cdee66575 to your computer and use it in GitHub Desktop.
example foundry release
on:
push:
tags:
- "v*" # run only against tags
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# https://github.com/marketplace/actions/checkout
- uses: actions/checkout@v6
- name: jq props and store module
run: |
echo "version=$(cat module.json | jq -r .version)" >> $GITHUB_ENV
echo "minimum=$(cat module.json | jq -r .compatibility.minimum)" >> $GITHUB_ENV
echo "verified=$(cat module.json | jq -r .compatibility.verified)" >> $GITHUB_ENV
echo "DATA=$(cat module.json | jq -c | sed 's/"/\\"/g')" >> $GITHUB_ENV
- name: cleanup and zip
run: |
rm -rf .git .github
rm *.md
zip -r terminal.zip .
- name: foundry release
run: |
JSON_PAYLOAD=$(cat <<EOF
{
"id": "mosh",
"dry-run": false,
"release": {
"version": "${{ env.version }}",
"manifest": "https://github.com/CodaBool/terminal/releases/download/v${{ env.version }}/module.json",
"notes": "https://github.com/CodaBool/terminal/blob/main/changelog.md",
"compatibility": {
"minimum": "${{ env.minimum }}",
"verified": "${{ env.verified }}",
"maximum": "${{ env.maximum }}"
}
}
}
EOF
)
curl -s -X POST https://api.foundryvtt.com/_api/packages/release_version \
-H "Content-Type: application/json" \
-H "Authorization: ${{ secrets.FOUNDRY_TOKEN }}" \
-d "$JSON_PAYLOAD"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment