| | name: react-day-picker |
| |
|
| | on: |
| | release: |
| | types: [published] |
| | pull_request: |
| | branches: |
| | - "**" |
| | push: |
| | branches: |
| | - "**" |
| | workflow_dispatch: |
| | inputs: |
| | publish: |
| | description: Publish on npm |
| | required: false |
| | default: false |
| | type: boolean |
| |
|
| | permissions: |
| | id-token: write |
| | contents: read |
| |
|
| | jobs: |
| | typecheck: |
| | runs-on: ubuntu-latest |
| | steps: |
| | - uses: actions/checkout@v4 |
| | - uses: pnpm/action-setup@v4 |
| | - uses: actions/setup-node@v4 |
| | with: |
| | node-version: 24 |
| | cache: pnpm |
| | registry-url: "https://registry.npmjs.org" |
| | - run: pnpm install --frozen-lockfile |
| | - run: pnpm typecheck |
| |
|
| | lint: |
| | runs-on: ubuntu-latest |
| | steps: |
| | - uses: actions/checkout@v4 |
| | - uses: pnpm/action-setup@v4 |
| | - uses: actions/setup-node@v4 |
| | with: |
| | node-version: 24 |
| | cache: pnpm |
| | - run: pnpm install --frozen-lockfile |
| | - run: pnpm lint ci . --reporter=github |
| |
|
| | test: |
| | needs: [lint, typecheck] |
| | runs-on: ubuntu-latest |
| | steps: |
| | - uses: actions/checkout@v4 |
| | - uses: pnpm/action-setup@v4 |
| | - uses: actions/setup-node@v4 |
| | with: |
| | node-version: 24 |
| | cache: pnpm |
| | - run: pnpm install --frozen-lockfile |
| | - run: pnpm test |
| | - run: pnpm test:tz |
| |
|
| | build: |
| | runs-on: ubuntu-latest |
| | steps: |
| | - uses: actions/checkout@v4 |
| | - uses: pnpm/action-setup@v4 |
| | - uses: actions/setup-node@v4 |
| | with: |
| | node-version: 24 |
| | cache: pnpm |
| | - run: pnpm install --frozen-lockfile |
| | - run: pnpm build |
| | - uses: actions/upload-artifact@v4 |
| | with: |
| | name: rdp-dist |
| | path: dist |
| |
|
| | test-build: |
| | runs-on: ubuntu-latest |
| | needs: [build] |
| | steps: |
| | - uses: actions/checkout@v4 |
| | - uses: pnpm/action-setup@v4 |
| | - uses: actions/setup-node@v4 |
| | with: |
| | node-version: 24 |
| | cache: pnpm |
| | - uses: actions/download-artifact@v4 |
| | with: |
| | name: rdp-dist |
| | - run: pnpm install --frozen-lockfile |
| | - run: pnpm run build |
| | - run: pnpm test:build |
| |
|
| | publish-on-npm: |
| | runs-on: ubuntu-latest |
| | needs: [build, test] |
| | if: ${{ github.event_name == 'release' || github.event.inputs.publish }} |
| | permissions: |
| | contents: write |
| | id-token: write |
| | steps: |
| | - uses: actions/checkout@v4 |
| | - uses: pnpm/action-setup@v4 |
| | - uses: actions/setup-node@v4 |
| | with: |
| | node-version: 24 |
| | registry-url: https://registry.npmjs.org/ |
| | always-auth: false |
| | - uses: actions/download-artifact@v4 |
| | with: |
| | name: rdp-dist |
| | path: dist |
| | - run: npm publish --provenance --tag latest |
| |
|