name: Prod on: push: branches: - main - patch-release - next pull_request: jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: cache: "yarn" - name: Install Dependencies run: yarn install --immutable - name: Build Package run: yarn build - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: dist path: dist lint: name: Lint runs-on: ubuntu-latest needs: [build] steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: cache: "yarn" - name: Install Dependencies run: yarn install --immutable - name: Download Artifact uses: actions/download-artifact@v3 with: name: dist path: dist - name: Lint Code run: yarn test:dist-lint test: timeout-minutes: 90 strategy: fail-fast: false matrix: os: - "ubuntu-latest" - "macos-latest" - "windows-latest" node: - "18" - "16" - "14" include: - os: "ubuntu-latest" node: "18" FULL_TEST: true exclude: - os: "macos-latest" node: "16" - os: "windows-latest" node: "16" env: FULL_TEST: ${{ matrix.FULL_TEST }} name: Node.js ${{ matrix.node }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} needs: [build] steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} cache: "yarn" - name: Install Dependencies run: yarn install --immutable - name: Download Artifact uses: actions/download-artifact@v3 with: name: dist path: dist - name: Run Tests run: yarn test:dist - name: Run Format Tests (standalone) run: yarn test:dist-standalone cli: name: CLI runs-on: ubuntu-latest needs: [build] steps: - name: Checkout uses: actions/checkout@v3.0.2 - name: Setup Node.js uses: actions/setup-node@v3.4.1 with: node-version: "0.10.48" - name: Download Artifact uses: actions/download-artifact@v3 with: name: dist path: dist - name: Validate Node.js Version run: node -v | grep "v0.10.48" || exit 1 - name: Run CLI on Node.js v0.10.48 run: node dist/bin-prettier --version 2>&1 >/dev/null | grep "prettier requires at least version 14 of Node, please upgrade" || exit 1