Skip to content

Commit

Permalink
Merge branch 'release-next'
Browse files Browse the repository at this point in the history
  • Loading branch information
mjackson committed Nov 22, 2024
2 parents 79241a8 + e8e3b00 commit 7037428
Show file tree
Hide file tree
Showing 797 changed files with 90,544 additions and 39,235 deletions.
16 changes: 13 additions & 3 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,26 @@
"commit": false,
"fixed": [
[
"create-react-router",
"react-router",
"react-router-dom",
"react-router-dom-v5-compat",
"react-router-native"
"@react-router/architect",
"@react-router/cloudflare",
"@react-router/dev",
"@react-router/fs-routes",
"@react-router/express",
"@react-router/node",
"@react-router/remix-routes-option-adapter",
"@react-router/serve"
]
],
"linked": [],
"access": "public",
"baseBranch": "dev",
"updateInternalDependencies": "patch",
"bumpVersionsWithWorkspaceProtocolOnly": true,
"ignore": []
"ignore": ["integration", "integration-*", "@playground/*"],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
}
}
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ node_modules/
pnpm-lock.yaml
/docs/api
examples/**/dist/
/playground/
/playground-local/
packages/**/dist/
packages/react-router-dom/server.d.ts
packages/react-router-dom/server.js
Expand Down
12 changes: 11 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@
"files": ["**/__tests__/**"],
"plugins": ["jest"],
"extends": ["plugin:jest/recommended"]
},
{
"files": ["integration/**/*.*"],
"rules": {
"react-hooks/rules-of-hooks": "off"
},
"env": {
"jest/globals": false
}
}
]
],
"reportUnusedDisableDirectives": true
}
2 changes: 1 addition & 1 deletion .github/workflows/deduplicate-lock-file.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@v4

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ jobs:
token: ${{ secrets.FORMAT_PAT }}

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: pnpm
node-version-file: ".nvmrc"
cache: pnpm

- name: 📥 Install deps
run: pnpm install --frozen-lockfile
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/integration-full.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Branch

# main/dev/release-* branches will get the full run across
# all OS/browsers for multiple node versions

on:
push:
branches:
- main
- dev
- release-*
tags:
- "v0.0.0-nightly-*"
paths-ignore:
- ".changeset/**"
- "decisions/**"
- "docs/**"
- "examples/**"
- "jest/**"
- "scripts/**"
- "tutorial/**"
- "contributors.yml"
- "**/*.md"

jobs:
build:
name: "⚙️ Build"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-build.yml

integration-ubuntu:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "ubuntu-latest"
node_version: "[20, 22]"
browser: '["chromium", "firefox"]'

integration-windows:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "windows-latest"
node_version: "[20, 22]"
browser: '["msedge"]'

integration-macos:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "macos-latest"
node_version: "[20, 22]"
browser: '["webkit"]'
35 changes: 35 additions & 0 deletions .github/workflows/integration-pr-ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: PR (Base)

# All PRs touching code will run tests on ubuntu/node/chromium

on:
pull_request:
paths-ignore:
- ".changeset/**"
- "decisions/**"
- "docs/**"
- "examples/**"
- "jest/**"
- "scripts/**"
- "tutorial/**"
- "contributors.yml"
- "**/*.md"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: "⚙️ Build"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-build.yml

integration-chromium:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "ubuntu-latest"
node_version: "[22]"
browser: '["chromium"]'
43 changes: 43 additions & 0 deletions .github/workflows/integration-pr-windows-macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: PR (Full)

# PRs touching react-router-dev will also run on Windows and OSX

on:
pull_request:
paths:
- "pnpm-lock.yaml"
- "integration/**"
- "packages/react-router-dev/**"
- "!**/*.md"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
integration-firefox:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "ubuntu-latest"
node_version: "[22]"
browser: '["firefox"]'

integration-msedge:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "windows-latest"
node_version: "[22]"
browser: '["msedge"]'

integration-webkit:
name: "👀 Integration Test"
if: github.repository == 'remix-run/react-router'
uses: ./.github/workflows/shared-integration.yml
with:
os: "macos-latest"
node_version: "[22]"
browser: '["webkit"]'
2 changes: 1 addition & 1 deletion .github/workflows/no-response.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 🥺 Handle Ghosting
uses: actions/stale@v8
uses: actions/stale@v9
with:
days-before-close: 10
close-issue-message: >
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-experimental.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
fetch-depth: 0

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
fetch-depth: 0

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
fetch-depth: 0

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
Expand Down Expand Up @@ -74,12 +74,12 @@ jobs:
uses: actions/checkout@v4

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
node-version: 16
node-version-file: ".nvmrc"
cache: "pnpm"

- id: find_package_version
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/shared-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: 🛠️ Build

on:
workflow_call:

env:
CI: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v4

- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"

- uses: google/wireit@setup-github-actions-caching/v2

- name: Disable GitHub Actions Annotations
run: |
echo "::remove-matcher owner=tsc::"
echo "::remove-matcher owner=eslint-compact::"
echo "::remove-matcher owner=eslint-stylish::"
- name: 📥 Install deps
run: pnpm install --frozen-lockfile

- name: 🏗 Build
run: pnpm build
64 changes: 64 additions & 0 deletions .github/workflows/shared-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: 🧪 Test (Integration)

on:
workflow_call:
inputs:
os:
required: true
type: string
node_version:
required: true
# this is limited to string | boolean | number (https://github.community/t/can-action-inputs-be-arrays/16457)
# but we want to pass an array (node_version: "[20, 22]"),
# so we'll need to manually stringify it for now
type: string
browser:
required: true
# this is limited to string | boolean | number (https://github.community/t/can-action-inputs-be-arrays/16457)
# but we want to pass an array (browser: "['chromium', 'firefox']"),
# so we'll need to manually stringify it for now
type: string

env:
CI: true

jobs:
integration:
name: "${{ inputs.os }} / node@${{ matrix.node }} / ${{ matrix.browser }}"
strategy:
fail-fast: false
matrix:
node: ${{ fromJSON(inputs.node_version) }}
browser: ${{ fromJSON(inputs.browser) }}

runs-on: ${{ inputs.os }}
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v4

- name: ⎔ Setup node ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"

- uses: google/wireit@setup-github-actions-caching/v2

- name: Disable GitHub Actions Annotations
run: |
echo "::remove-matcher owner=tsc::"
echo "::remove-matcher owner=eslint-compact::"
echo "::remove-matcher owner=eslint-stylish::"
- name: 📥 Install deps
run: pnpm install --frozen-lockfile

- name: 📥 Install Playwright
run: npx playwright install --with-deps ${{ matrix.browser }}

- name: 👀 Run Integration Tests ${{ matrix.browser }}
run: "pnpm test:integration --project=${{ matrix.browser }}"
timeout-minutes: 40
Loading

0 comments on commit 7037428

Please sign in to comment.