ffmml 0.1.2

Famicon (a.k.a. NES) Flavored Music Macro Language
Documentation
name: Deploy

# Controls when the workflow will run
on:
  push:
    branches: [ "main" ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install wasm32-unknown-unknown target
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: wasm32-unknown-unknown
      - name: Run cargo build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --release --target=wasm32-unknown-unknown -p ffmml_gui
      - name: Prepare static files
        run: |
          mkdir _site/
          cp target/wasm32-unknown-unknown/release/ffmml_gui.wasm _site/ffmml.wasm
          cp web/index.html _site/
          cp web/primer.css _site/
          cp web/manifest.json _site/
          cp web/*.png _site/
          sed -e "s/CACHE_NAME = .*;/CACHE_NAME = 'ffmml-$(git show --format='%h' --no-patch)';/" web/service-worker.js > _site/service-worker.js
      - name: Upload GitHub Pages files
        uses: actions/upload-pages-artifact@v1

  deploy:
    needs: build
    permissions:
      pages: write
      id-token: write
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v1