〰️ Upload and publish your game files to Wavedash.
on: push
jobs:
wavedash-action:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v7
# Build your web game...
- name: Upload to Wavedash
uses: remarkablegames/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}If you have a wavedash.toml:
- name: Upload to Wavedash
uses: remarkablegames/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}If you don't have a wavedash.toml, then the action will create one for you and inject the Wavedash SDK into your entrypoint HTML:
- name: Upload to Wavedash
uses: remarkablegames/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
game-id: ${{ secrets.WAVEDASH_GAME_ID }}
upload-dir: ./dist
entrypoint: index.html
sdk-version: 1.3.43Upload and publish with release notes:
- name: Upload and publish to Wavedash
uses: remarkablegames/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
publish: true
build-message: Bug fixes and polish
publish-title: Version 1.2.3
publish-summary: Bug fixes and polish
publish-fixed: |
Fixed fullscreen sizing
Fixed input timingSee action.yml
Required. Your Wavedash API token. Store it as a repository secret (e.g., WAVEDASH_TOKEN).
- uses: remarkablegames/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}Optional. Path to wavedash.toml. Defaults to wavedash.toml.
Optional. Game ID used to create wavedash.toml when the config file does not exist. If game-id is provided and config is missing, the action writes the config file for you.
Optional. Upload directory used when creating wavedash.toml. Defaults to ./dist.
Optional. Entrypoint used when creating wavedash.toml and when injecting the Wavedash SDK. Defaults to index.html.
Optional. Wavedash SDK version injected into the entrypoint HTML when auto-creating wavedash.toml. Defaults to 1.3.43.
Optional. Whether to cache the installed Wavedash CLI between runs, keyed by runner OS and CLI version. Defaults to true.
Optional. Whether to publish the uploaded build. Defaults to false.
Optional. Build message passed to wavedash build push -m.
Optional. Release title passed to wavedash publish.
Optional. Release summary passed to wavedash publish.
Optional. Multiline lists of changelog items passed to wavedash publish. One item per line.
- uses: remarkablegames/wavedash-action@v1
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
publish: true
publish-added: |
New level
New character
publish-fixed: |
Fixed crash on startupThe build ID returned by wavedash build push.
- uses: remarkablegames/wavedash-action@v1
id: wavedash
with:
token: ${{ secrets.WAVEDASH_TOKEN }}
- run: echo "Build ID ${{ steps.wavedash.outputs.build-id }}"The playtest URL returned by wavedash build push.
true if the build was published, otherwise false.
Wavedash uses a wavedash.toml file to know which game to upload and where the built files are.
game_id = "YOUR_GAME_ID_HERE"
upload_dir = "./dist"
entrypoint = "index.html"You can commit this file to your repo or let the action create it by providing game-id, upload-dir, and entrypoint.
When the action auto-generates wavedash.toml, it also injects the Wavedash SDK into your entrypoint HTML. A <link rel="modulepreload"> is added before the closing </head> tag to start fetching the module early, and the SDK script is added before the closing </body> tag to initialize Wavedash. The SDK loads from https://esm.sh/@wvdsh/sdk-js@<sdk-version>.