name: CDN publisher

on:
  push:
    tags:
      - "**"
jobs:
  build:
    runs-on: ubuntu-latest
    if: startsWith(github.ref, 'refs/tags/')

    strategy:
      matrix:
        node-version: [18.x]

    steps:
      - uses: actions/checkout@v2
        with:
          path: ".sdk"

      - name: Checkout CDN repo
        uses: actions/checkout@v2
        with:
          repository: causalfoundry/cdn
          ref: main
          ssh-key: ${{ secrets.CF_CDN_REPO_SSH_KEY }}
          path: ".cdn"

      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}

      - name: Install dependencies
        run: |
          cd $GITHUB_WORKSPACE/.sdk/js-sdk
          ls
          npm install

      - name: Build
        run: |
          cd $GITHUB_WORKSPACE/.sdk/js-sdk
          npm run build

      - name: Publish
        run: |
          git config --global user.email "moiz@causalfoundry.ai"
          git config --global user.name "Github Action"
          cd $GITHUB_WORKSPACE/.sdk
          version=$(grep version js-sdk/package.json | sed 's/.*"version": "\(.*\)".*/\1/')
          node js-sdk/scripts/updateManifest.js $GITHUB_WORKSPACE/.cdn/manifest.json $version
          cp $GITHUB_WORKSPACE/.sdk/js-sdk/lib/init.js $GITHUB_WORKSPACE/.cdn/sdk-$version.js
          cd $GITHUB_WORKSPACE/.cdn
          git add .
          git commit -m "Publishing $version"
          git push origin main

