name: build-and-test on: push: branches: - master - develop pull_request: branches: - master - develop jobs: build-and-test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] node: [14] steps: - name: TurboRepo local server uses: felixmosh/turborepo-gh-artifacts@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} server-token: ${{ secrets.TURBO_SERVER_TOKEN }} - name: Checkout ๐Ÿ›Ž uses: actions/checkout@master - name: Setup node env ๐Ÿ— uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} check-latest: true - uses: pnpm/action-setup@v2.0.1 name: Install pnpm id: pnpm-install with: version: 7 run_install: false - name: Get pnpm cache directory path ๐Ÿ›  id: pnpm-cache-dir-path run: echo "::set-output name=dir::$(pnpm cache dir)" - name: Cache node_modules ๐Ÿ“ฆ uses: actions/cache@v3 id: pnpm-cache # use this to check for `cache-hit` (`steps.pnpm-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.pnpm-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm.lock') }} restore-keys: | ${{ runner.os }}-pnpm- - name: Install dependencies ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป run: pnpm install --no-frozen-lockfile - name: Run linter ๐Ÿงน run: pnpm lint - name: Build Library ๐Ÿ‘ท run: pnpm build --api="http://127.0.0.1:9080" --token="${{ secrets.TURBO_SERVER_TOKEN }}" - name: Run tests ๐Ÿงช run: pnpm test