name: lint on: push: branches: ['*'] pull_request: branches: ['*'] workflow_dispatch: jobs: Test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Use Node.js 16.x uses: actions/setup-node@v1 with: node-version: 16.x - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn config get cacheFolder)" - uses: actions/cache@v2 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install dependencies run: yarn - name: Fix config run: cp src/config/example-options.ts src/config/options.ts - name: Fix badlinks-secret.json run: cp src/lib/badlinks.json src/lib/badlinks-secret.json - name: ESLint run: yarn lint - name: Test Build run: yarn build-tsc Check-Formatting: runs-on: ubuntu-latest name: Check formatting steps: - uses: actions/checkout@v2 with: persist-credentials: false fetch-depth: 0 - name: Use Node.js 16.x uses: actions/setup-node@v1 with: node-version: 16.x - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn config get cacheFolder)" - uses: actions/cache@v2 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install dependencies run: yarn - name: Configure git run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - name: Format and commit code if needed run: | yarn format git commit -am "Automatically format code" || true - name: Push changes uses: NotEnoughUpdates/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: ${{ github.ref }}