docs: architecture overview (#1230) #584
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release (main) | |
on: | |
push: | |
branches: | |
- main | |
permissions: write-all | |
jobs: | |
bundler: | |
name: Build bundler | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Setup | Clone codesandbox-client | |
uses: actions/checkout@v4 | |
with: | |
repository: codesandbox/codesandbox-client | |
- name: Setup | Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "16.14.0" | |
- name: Install dependencies and cache | |
uses: bahmutov/npm-install@v1 | |
with: | |
useLockFile: true | |
- name: Prepare | Build dependencies | |
run: yarn build:deps | |
- name: Prepare | Build Sandpack bundler | |
run: yarn build:sandpack | |
- name: Archive bundler artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bundler | |
path: www/**/*.* | |
publish: | |
name: Publish | |
timeout-minutes: 20 | |
runs-on: ubuntu-latest | |
needs: [bundler] | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Setup | Checkout | |
uses: actions/checkout@v4 | |
with: | |
# pulls all commits (needed for lerna / semantic release to correctly version) | |
fetch-depth: "0" | |
token: ${{ secrets.CODESANDBOT_TOKEN }} | |
- name: Setup | Authenticate with Registry | |
run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- name: Setup | Ensure registry access | |
run: npm whoami | |
- name: Setup | Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: .nvmrc | |
- name: Setup | Configure git user | |
run: | | |
git config user.name 'codesandbot[bot]' | |
git config user.email 'codesandbot[bot]@users.noreply.github.com' | |
- name: Install dependencies and cache | |
uses: bahmutov/npm-install@v1 | |
with: | |
useLockFile: true | |
- name: Prepare | Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: bundler | |
path: bundler | |
- name: Prepare | Lerna Version | |
run: yarn lerna version --yes --no-private | |
- name: Prepare | Build | |
run: | | |
yarn workspace @codesandbox/sandpack-client build:publish | |
yarn workspace @codesandbox/sandpack-react build:publish | |
yarn workspace @codesandbox/sandpack-themes build:publish | |
- name: Release | Lerna Publish | |
run: lerna publish from-package --yes | |
# Publish to GitHub packages too | |
- name: "GitHub packages: Setup GitHub npm registry" | |
run: echo -e "@codesandbox:registry=https://npm.pkg.github.com\n//npm.pkg.github.com/:_authToken=${GH_TOKEN}" > .npmrc | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: "GitHub packages: Publish" | |
run: | | |
cd sandpack-client && npm publish --registry=https://npm.pkg.github.com && | |
cd ../sandpack-react && npm publish --registry=https://npm.pkg.github.com |