This post goes over how to upload and publish a web game to Wavedash with remarkablegames/wavedash-action and GitHub Actions.
GitHub Actions
To upload your game to Wavedash with GitHub Actions, use wavedash-action:
# .github/workflows/wavedash.yml
name: Upload to Wavedash
on: push
jobs:
wavedash-upload:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
# Build your web game...
- name: Upload to Wavedash
uses: remarkablemark/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
The WAVEDASH_TOKEN is your Wavedash API key. Generate one and add it to your repository’s Settings > Secrets and variables > Actions.
If you don’t already have a wavedash.toml, the action will create one for you and inject the Wavedash SDK into your entrypoint HTML as long as you provide game-id, upload-dir, and entrypoint. The generated file looks like:
# wavedash.toml
game_id = "YOUR_GAME_ID_HERE"
upload_dir = "./dist"
entrypoint = "index.html"
Example
Using an example workflow where:
- build is located at the
distfolder - game ID is
YOUR_GAME_ID_HERE - entrypoint is
index.html - build message is the release tag
The workflow job is:
wavedash:
needs: release
if: ${{ needs.release.outputs.release_created }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
# Build your web game...
- name: Upload to Wavedash
uses: remarkablemark/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
game-id: YOUR_GAME_ID_HERE
upload-dir: dist
entrypoint: index.html
build-message: ${{ needs.release.outputs.tag_name }}
To publish the build immediately, add publish: true:
- - name: Upload to Wavedash
+ - name: Upload and publish to Wavedash
uses: remarkablemark/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
game-id: YOUR_GAME_ID_HERE
upload-dir: dist
entrypoint: index.html
build-message: ${{ needs.release.outputs.tag_name }}
+ publish: true
+ publish-title: ${{ needs.release.outputs.tag_name }}
+ publish-fixed: |
+ Fixed fullscreen sizing
+ Fixed input timing
The inputs publish-title and publish-fixed are optional but they allow you to add release notes.
Inputs and outputs
The most useful inputs are:
token: your required Wavedash API keygame-id,upload-dir, andentrypoint: used to auto-createwavedash.tomlwhen it’s missingsdk-version: sets the Wavedash SDK version injected into the entrypoint HTMLbuild-message: passed towavedash build pushpublish: publishes the uploaded build when set totruepublish-title,publish-summary,publish-added,publish-removed,publish-fixed, andpublish-adjusted: optional release notes passed towavedash publish
And the outputs are:
build-idandplaytest-url: returned bywavedash build pushpublished: istrueif the build was published