Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
staylor authored Jan 6, 2023
2 parents 5b007da + 1d3cbad commit fb20b5b
Show file tree
Hide file tree
Showing 252 changed files with 8,521 additions and 5,846 deletions.
6 changes: 5 additions & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,16 @@
"@remix-run/react",
"@remix-run/serve",
"@remix-run/server-runtime",
"@remix-run/testing",
"@remix-run/vercel"
]
],
"linked": [],
"access": "public",
"baseBranch": "dev",
"updateInternalDependencies": "patch",
"ignore": []
"ignore": [],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
}
}
4 changes: 3 additions & 1 deletion .github/workflows/merged-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ on:
types: [closed]
branches:
- dev
paths:
- "packages/**"

permissions:
pull-requests: write

jobs:
if_merged:
merged:
name: Add label to merged PR
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
Expand Down
47 changes: 21 additions & 26 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: 🌒 Nightly Release

on:
workflow_dispatch:
schedule:
- cron: "0 7 * * *" # every day at 12AM PST

Expand Down Expand Up @@ -41,49 +42,43 @@ jobs:
- name: 📥 Install deps
run: yarn --frozen-lockfile

- name: ⤴️ Update Version if needed
- name: 🕵️ Check for changes
id: version
run: |
# get latest commit sha
SHA=$(git rev-parse HEAD)
# get first 7 characters of sha
SHORT_SHA=${SHA::7}
# get latest nightly tag
LATEST_NIGHTLY_TAG=$(git tag -l v0.0.0-nightly-\* --sort=-committerdate | head -n 1)
CHANGES=$(git diff $LATEST_NIGHTLY_TAG..dev -- ./packages/ -- ':!packages/**/package.json')
# check if there are changes to ./packages
if [[ -n $(echo $CHANGES | xargs) ]]; then
git config --local user.email "[email protected]"
git config --local user.name "Remix Run Bot"
# check if last commit to dev starts would be the nightly tag we're about to create (minus the date)
# if it is, we'll skip the nightly creation
# if not, we'll create a new nightly tag
if [[ ${LATEST_NIGHTLY_TAG} == v0.0.0-nightly-${SHORT_SHA}-* ]]; then
echo "🛑 Latest nightly tag is the same as the latest commit sha, skipping nightly release"
else
# yyyyMMdd format (e.g. 20221207)
DATE=$(date '+%Y%m%d')
# v0.0.0-nightly-<short sha>-<date>
NEXT_VERSION=0.0.0-nightly-${SHORT_SHA}-${DATE}
# set output so it can be used in other jobs
echo "NEXT_VERSION=${NEXT_VERSION}" >> $GITHUB_OUTPUT
git checkout -b nightly/${NEXT_VERSION}
if [ -z "$(git status --porcelain)" ]; then
echo "✨"
else
echo "dirty working directory..."
git add .
git commit -m "dirty working directory..."
fi
yarn run version ${NEXT_VERSION} --skip-prompt
else
echo "🛑 no changes since last nightly, skipping..."
fi
- name: 🏗 Build
- name: ⤴️ Update version
if: steps.version.outputs.NEXT_VERSION
run: yarn build
run: |
git config --local user.email "[email protected]"
git config --local user.name "Remix Run Bot"
git checkout -b nightly/${{steps.version.outputs.NEXT_VERSION}}
yarn run version ${{steps.version.outputs.NEXT_VERSION}} --skip-prompt
git push origin --tags
- name: 🏷 Push Tag
- name: 🏗 Build
if: steps.version.outputs.NEXT_VERSION
run: git push origin --tags
run: yarn build

- name: 🔐 Setup npm auth
if: steps.version.outputs.NEXT_VERSION
Expand Down
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@v6
uses: actions/stale@v7
with:
days-before-close: 10
close-issue-message: >
Expand Down
42 changes: 0 additions & 42 deletions .github/workflows/postrelease.yml

This file was deleted.

67 changes: 67 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ jobs:
github.repository == 'remix-run/remix' &&
!contains(github.ref, 'nightly')
runs-on: ubuntu-latest
outputs:
publishedPackages: ${{ steps.changesets.outputs.publishedPackages }}
published: ${{ steps.changesets.outputs.published }}
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]
Expand Down Expand Up @@ -61,3 +64,67 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.NIGHTLY_PAT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

findPackage:
name: 🦋 Find Package
needs: [release]
runs-on: ubuntu-latest
if: github.repository == 'remix-run/remix' && needs.release.outputs.published == 'true'
outputs:
package: ${{ steps.findPackage.outputs.package }}
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/[email protected]

- name: ⬇️ Checkout repo
uses: actions/checkout@v3

- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 16
cache: "npm"

- id: findPackage
run: |
package=$(node ./scripts/release/find-release-from-changeset.js)
echo "package=${package}" >> $GITHUB_OUTPUT
env:
packageVersionToFollow: "remix"
publishedPackages: ${{ needs.release.outputs.publishedPackages }}

comment:
name: 📝 Comment on related issues and pull requests
if: github.repository == 'remix-run/remix' && needs.findPackage.outputs.package != ''
needs: [release, findPackage]
uses: ./.github/workflows/release-comments.yml
with:
ref: refs/tags/${{ needs.findPackage.outputs.package }}
packageVersionToFollow: "remix"

deployments:
name: 🚀 Deployment Tests
if: github.repository == 'remix-run/remix'
needs: [release, findPackage]
uses: ./.github/workflows/deployments.yml
secrets:
TEST_AWS_ACCESS_KEY_ID: ${{ secrets.TEST_AWS_ACCESS_KEY_ID }}
TEST_AWS_SECRET_ACCESS_KEY: ${{ secrets.TEST_AWS_SECRET_ACCESS_KEY }}
TEST_CF_ACCOUNT_ID: ${{ secrets.TEST_CF_ACCOUNT_ID }}
TEST_CF_GLOBAL_API_KEY: ${{ secrets.TEST_CF_GLOBAL_API_KEY }}
TEST_CF_EMAIL: ${{ secrets.TEST_CF_EMAIL }}
TEST_CF_PAGES_API_TOKEN: ${{ secrets.TEST_CF_PAGES_API_TOKEN }}
TEST_CF_API_TOKEN: ${{ secrets.TEST_CF_API_TOKEN }}
TEST_DENO_DEPLOY_TOKEN: ${{ secrets.TEST_DENO_DEPLOY_TOKEN }}
TEST_FLY_TOKEN: ${{ secrets.TEST_FLY_TOKEN }}
TEST_NETLIFY_TOKEN: ${{ secrets.TEST_NETLIFY_TOKEN }}
TEST_VERCEL_TOKEN: ${{ secrets.TEST_VERCEL_TOKEN }}
TEST_VERCEL_USER_ID: ${{ secrets.TEST_VERCEL_USER_ID }}

stacks:
name: 🥞 Remix Stacks Test
if: github.repository == 'remix-run/remix'
needs: [release, findPackage]
uses: ./.github/workflows/stacks.yml
with:
version: ${{ needs.findPackage.outputs.package }}
4 changes: 0 additions & 4 deletions .github/workflows/reusable-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,10 @@ on:
# but we want to pass an array (node_version: "[14, 16, 18]"),
# so we'll need to manually stringify it for now
type: string
enable_remix_router:
required: false
type: string

env:
CI: true
CYPRESS_INSTALL_BINARY: 0
ENABLE_REMIX_ROUTER: ${{ inputs.enable_remix_router }}

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stacks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ jobs:
npm run build
- name: 🌳 Cypress run
uses: cypress-io/github-action@v4
uses: cypress-io/github-action@v5
with:
start: ${{ matrix.stack.cypress }}
wait-on: "http://localhost:8811"
Expand Down
7 changes: 0 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,3 @@ jobs:
uses: ./.github/workflows/reusable-test.yml
with:
node_version: '["latest"]'

test-experimental:
if: github.repository == 'remix-run/remix'
uses: ./.github/workflows/reusable-test.yml
with:
node_version: '["latest"]'
enable_remix_router: "1"
5 changes: 5 additions & 0 deletions .vscode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
A note on `deno_resolve_npm_imports.json`

The `"imports"` field in `deno_resolve_npm_imports.json` is used to resolve NPM imports for `packages/remix-deno`. This import map is used solely for the d`enoland.vscode-deno` extension.

Remix does not support import maps. Dependency management is done through `npm` and `node_modules/` instead. Deno-only dependencies may be imported via URL imports (without using import maps).
7 changes: 1 addition & 6 deletions .vscode/deno_resolve_npm_imports.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
{
"// Resolve NPM imports for `packages/remix-deno`.": "",
"// This import map is used solely for the denoland.vscode-deno extension.": "",
"// Remix does not support import maps.": "",
"// Dependency management is done through `npm` and `node_modules/` instead.": "",
"// Deno-only dependencies may be imported via URL imports (without using import maps).": "",
"imports": {
"@remix-run/server-runtime": "https://esm.sh/@remix-run/server-runtime@1.6.4",
"@remix-run/server-runtime": "https://esm.sh/@remix-run/server-runtime@nightly",
"mime": "https://esm.sh/[email protected]"
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

We are happy you're here!

[Remix](https://remix.run/) is a full stack web framework that lets you focus on the user interface and work back through web fundamentals to deliver a fast, slick, and resilient user experience that deploys to any Node.js server and even non-Node.js environments at the edge like Cloudflare Workers.
[Remix](https://remix.run) is a full stack web framework that lets you focus on the user interface and work back through web fundamentals to deliver a fast, slick, and resilient user experience that deploys to any Node.js server and even non-Node.js environments at the edge like Cloudflare Workers.

Want to know more? Read the [Technical Explanation of Remix](https://remix.run/pages/technical-explanation)

Expand Down
Loading

0 comments on commit fb20b5b

Please sign in to comment.