diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..bcdd9fce7 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,73 @@ +name: docs + +on: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref || github.run_id }} + cancel-in-progress: true + +jobs: + pre_job: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + paths_result: ${{ steps.skip_check.outputs.paths_result }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@c449d86cf33a2a6c7a4193264cc2578e2c3266d4 # pin@v4 + with: + paths: '["docs/**", ".github/workflows/**"]' + typecheck: + needs: pre_job + if: needs.pre_job.outputs.should_skip != 'true' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: "docs/package.json" + cache-dependency-path: "docs/yarn.lock" + cache: "yarn" + - name: Install dependencies + working-directory: "docs" + run: yarn install --frozen-lockfile + - name: run typechecker + working-directory: "docs" + run: ./s/typecheck + + fmt: + needs: pre_job + if: needs.pre_job.outputs.should_skip != 'true' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: "docs/package.json" + cache-dependency-path: "docs/yarn.lock" + cache: "yarn" + - name: Install dependencies + working-directory: "docs" + run: yarn install --frozen-lockfile + - name: Run tests + working-directory: "docs" + run: ./s/fmt-ci + + verify_build: + needs: pre_job + if: needs.pre_job.outputs.should_skip != 'true' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: "docs/package.json" + cache-dependency-path: "docs/yarn.lock" + cache: "yarn" + - name: Install dependencies + working-directory: "docs" + run: yarn install --frozen-lockfile + - name: Run tests + working-directory: "docs" + run: ./s/build diff --git a/docs/package.json b/docs/package.json index 08f394804..0f5161fae 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,5 +1,9 @@ { "private": true, + "volta": { + "node": "12.4.0", + "yarn": "1.22.17" + }, "devDependencies": { "@types/react": "^16.9.17", "docusaurus": "^1.14.3",