Skip to content

Version 0.0.0-experimental-91015507f #88

Version 0.0.0-experimental-91015507f

Version 0.0.0-experimental-91015507f #88

# Experimental releases are handled a bit differently than standard releases.
# Experimental releases can be branched from anywhere as they are not intended
# for general use, and all packages will be versioned and published with the
# same hash for testing.
#
# This workflow will run when a GitHub release is created from experimental
# version tag. Unlike standard releases created via Changesets, only one tag
# should be created for all packages.
#
# To create a release:
# - Create a new branch for the release: git checkout -b `release-experimental`
# - IMPORTANT: You should always create a new branch so that the version
# changes don't accidentally get merged into `dev` or `main`. The branch
# name must follow the convention of `release-experimental` or
# `release-experimental-[feature]`.
# - Make whatever changes you need and commit them:
# - `git add . && git commit "experimental changes!"`
# - Update version numbers and create a release tag:
# - `pnpm run version:experimental`
# - Push to GitHub:
# - `git push origin --follow-tags`
# - Create a new release for the tag on GitHub to trigger the CI workflow that
# will publish the release to npm
name: 🚀 Release (experimental)
on:
push:
tags:
- "v0.0.0-experimental*"
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
CI: true
jobs:
release:
name: 🧑‍🔬 Experimental Release
if: |
github.repository == 'remix-run/remix' &&
contains(github.ref, 'experimental')
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 📦 Setup pnpm
uses: pnpm/action-setup@v3.0.0
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: 📥 Install deps
# Don't use frozen lockfile for experimental releases since we will have
# just changed versions in package.json and they'll be out of date in
# pnpm-lock.yaml so installing with a frozen lockfile will fail
run: pnpm install --no-frozen-lockfile
- name: 🏗 Build
run: pnpm build
- name: 🔐 Setup npm auth
run: |
echo "registry=https://registry.npmjs.org" >> ~/.npmrc
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ~/.npmrc
- name: 🚀 Publish
run: npm run publish