cornfig 0.3.0

A simple and pain-free configuration language.
Documentation
name: Release

on:
  push:
    tags:
      - '*'

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Update Toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      - name: Install wasm-pack
        uses: jetli/wasm-pack-action@v0.3.0
        with:
          version: 'latest'

      - uses: actions/setup-node@v2
        with:
          node-version: '16.x'
          registry-url: 'https://registry.npmjs.org'

      - name: Build WASM package
        run: wasm-pack build --out-name index -- --features wasm

      # wasm-pack doesn't allow package name customisation
      # npm doesn't allow 'cornfig' :/
      - name: Patch WASM package name
        run: |
          sed -i -e 's/"name": "cornfig"/"name": "cornfig-wasm"/' pkg/package.json

      - name: Publish to Cargo
        uses: actions-rs/cargo@v1
        with:
          command: publish --token ${CARGO_REGISTRY_TOKEN}
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

      - name: Publish to NPM
        run: |
          cd pkg
          npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}