name: "Setup ts"
description: "Setup ts"
runs:
  using: "composite"
  steps:
    - uses: actions/setup-node@v3
      with:
        node-version: ${{ env.NODE_VERSION }}
    - uses: actions/cache@v3
      name: Cache Typescript node_modules
      id: cache-typescript-node-modules
      with:
        path: |
          ./ts/node_modules/
        key: solana-${{ runner.os }}-v0000-${{ env.NODE_VERSION }}-${{ hashFiles('./ts/**/yarn.lock') }}
    - uses: actions/cache@v3
      name: Cache Typescript Dist
      id: cache-typescript-dist
      with:
        path: |
          ./ts/dist/
        key: solana-${{ runner.os }}-v0000-${{ env.NODE_VERSION }}-${{ hashFiles('./ts/**/*.ts') }}
    - run: cd ts/packages/borsh && yarn --frozen-lockfile && yarn build && yarn link && cd ../../../
      shell: bash
    - run: cd ts/packages/anchor && yarn --frozen-lockfile && yarn build:node && yarn link && cd ../../../
      shell: bash
    - run: cd ts/packages/spl-associated-token-account && yarn --frozen-lockfile && yarn build:node && yarn link && cd ../../../
      shell: bash
    - run: cd ts/packages/spl-token && yarn --frozen-lockfile && yarn build:node && yarn link && cd ../../../
      shell: bash
    - run: cd examples/tutorial && yarn link @coral-xyz/anchor @coral-xyz/borsh && yarn --frozen-lockfile && cd ../../
      shell: bash
    - run: cd tests && yarn link @coral-xyz/anchor @coral-xyz/borsh @coral-xyz/spl-associated-token-account @coral-xyz/spl-token && yarn --frozen-lockfile && cd ..
      shell: bash
