name: SDK Candy Machine

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  changes:
    runs-on: ubuntu-latest
    # Set job outputs to values from filter step
    outputs:
      core: ${{ steps.filter.outputs.core }}
      package: ${{ steps.filter.outputs.package }}
    steps:
    - uses: actions/checkout@v2
    # For pull requests it's not necessary to checkout the code
    - uses: dorny/paths-filter@v2
      id: filter
      with:
        filters: |
          core:
            - 'core/**'
          package:
            - 'candy-machine/**'

  build-lint-and-test-candy-machine:
    needs: changes
    if: ${{ needs.changes.outputs.core == 'true' || needs.changes.outputs.package == 'true' }}
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1
      - uses: ./.github/actions/yarn-install-and-verify
        with: 
          cache_id: sdk-candy-machine
          working_dir: ./candy-machine/js
