Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: bootstrap releases for path: . #1834

Merged
merged 3 commits into from
Nov 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/release-deploy-v2.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name: 'Release and Deploy v2'
name: 'Release and Deploy v2 - DISABLED'

on:
# Uncomment the line below if you want to run the workflow manually
# and comment out lines 7-9
# workflow_dispatch:
push:
branches:
- main
# push:
# branches:
# - main

concurrency:
group: ${{ github.ref }}
Expand Down
260 changes: 260 additions & 0 deletions .github/workflows/release-deploy-v3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
name: 'Release and Deploy v2'

on:
workflow_call:
push:
branches:
- main

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

jobs:
setup:

runs-on: ubuntu-latest

steps:
- name: Clone Sage-Lib Repo
uses: actions/checkout@v3
with:
# pulls all commits (needed for lerna / semantic release to correctly version)
fetch-depth: "0"

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.20.2

- name: Set NPM Config
run: npm config set '//npm.pkg.github.com/:_authToken' '${{ secrets.ACCESS_TOKEN }}'

- name: Unsafe Perm set
run: npm config set unsafe-perm true

- name: Set Bot Name
run: git config user.name "Kajabi Automation Bot"

- name: Cache Node modules
uses: actions/cache@v3
id: sage-lib-node-modules
env:
cache-name: sage-lib-node-modules
with:
path: '**/node_modules'
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}

- name: Install packages
if: steps.sage-lib-node-modules.outputs.cache-hit != true
run: yarn install --frozen-lockfile

lint:
needs: [setup]
runs-on: ubuntu-latest

steps:
- name: Check out latest
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.20.2

- name: Restore Node modules
uses: actions/cache/restore@v3
id: restore-sage-lib-node-modules
env:
cache-name: sage-lib-node-modules
with:
path: '**/node_modules'
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}

- name: Install packages
if: steps.restore-sage-lib-node-modules.outputs.cache-hit != true
run: yarn install --frozen-lockfile

- name: Lint
run: yarn lint

test:
needs: [setup]
runs-on: ubuntu-latest

steps:
- name: Check out latest
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.20.2

- name: Restore Node modules
uses: actions/cache/restore@v3
id: restore-sage-lib-node-modules
env:
cache-name: sage-lib-node-modules
with:
path: '**/node_modules'
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}

- name: Install packages
if: steps.restore-sage-lib-node-modules.outputs.cache-hit != true
run: yarn install --frozen-lockfile

- name: Test
run: yarn test

build:
needs: [setup]
runs-on: ubuntu-latest

steps:
- name: Check out latest
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.20.2

- name: Restore Node modules
uses: actions/cache/restore@v3
id: restore-sage-lib-node-modules
env:
cache-name: sage-lib-node-modules
with:
path: '**/node_modules'
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}

- name: Install packages
if: steps.restore-sage-lib-node-modules.outputs.cache-hit != true
run: yarn install --frozen-lockfile

- name: Build
run: yarn build

- name: Cache build assets
uses: actions/cache/save@v3
id: sage-lib-build-assets
env:
cache-name: sage-lib-build-assets
with:
path: |
'packages/**'
'docs/**'
key: ${{ runner.os }}-build-${{ env.cache-name }}


publish:
needs: [lint, test, build]
runs-on: ubuntu-latest

steps:
- name: Check out latest
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7.7'

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.20.2

- name: Restore Node modules
uses: actions/cache/restore@v3
id: restore-sage-lib-node-modules
env:
cache-name: sage-lib-node-modules
with:
path: '**/node_modules'
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}

- name: Check cache hit
if: steps.restore-sage-lib-node-modules.outputs.cache-hit != 'true'
run: exit 1

- name: Set Bot Email
run: git config user.email "[email protected]"

- name: Set Bot Name
run: git config user.name "Kajabi Automation Bot"

- name: Set NPM Config
run: npm config set '//npm.pkg.github.com/:_authToken' '${{ secrets.ACCESS_TOKEN }}'

- name: Unsafe Perm set
run: npm config set unsafe-perm true

- name: Restore Build assets
uses: actions/cache/restore@v3
id: restore-sage-lib-build-assets
env:
cache-name: sage-lib-build-assets
with:
path: |
'packages/**'
'docs/**'
key: ${{ runner.os }}-build-${{ env.cache-name }}

- name: Check Build Assets cache hit
if: steps.restore-sage-lib-build-assets.outputs.cache-hit != 'true'
continue-on-error: true
run: yarn build

- name: Lerna Boostrap
run: npx lerna bootstrap --ci

- name: Lerna Publish
run: npx lerna publish from-package --no-push --registry github --yes

deploy-sites:
needs: publish
runs-on: ubuntu-latest

steps:
- name: Check out latest
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7.7'

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.20.2

- name: Deploy Documentation Site
env:
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
HEROKU_DOCS_APP_NAME: ${{ secrets.HEROKU_DOCS_APP_NAME }}
run: yarn docs:deploy

- name: Deploy Storybook Site
env:
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
HEROKU_STORYBOOK_APP_NAME: ${{ secrets.HEROKU_STORYBOOK_APP_NAME }}
run: yarn storybook:deploy

- name: SassDocs Site Deploy
env:
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
HEROKU_SASSDOCS_APP_NAME: ${{ secrets.HEROKU_SASSDOCS_APP_NAME }}
run: yarn sassdocs:deploy
41 changes: 41 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: release-please

on:
push:
branches:
- develop

permissions:
contents: write
pull-requests: write

jobs:
release-please:
runs-on: ubuntu-latest
outputs:
paths_released: ${{ steps.manifest-release.outputs.paths_released }}
steps:
- uses: google-github-actions/release-please-action@v3
id: manifest-release
with:
command: manifest
monorepo-tags: true
default-branch: main
changelog-types: '[{"type":"docs", "section": "Documentation","hidden":false}]'

- name: Show output from Release-Please
if: ${{ steps.manifest-release.outputs.releases_created }}
run: |
echo "releases_created: ${{ steps.manifest-release.outputs.releases_created }}"
echo "upload_url: ${{ steps.manifest-release.outputs.upload_url }}"
echo "html_url: ${{ steps.manifest-release.outputs.html_url }}"
echo "tag_name: ${{ steps.manifest-release.outputs.tag_name }}"
echo "major: ${{ steps.manifest-release.outputs.major }}"
echo "minor: ${{ steps.manifest-release.outputs.minor }}"
echo "patch: ${{ steps.manifest-release.outputs.patch }}"
echo "sha: ${{ steps.manifest-release.outputs.sha }}"
echo "pr: ${{ steps.manifest-release.outputs.pr }}"

- name: Run Release Deploy
if: ${{ steps.manifest-release.outputs.releases_created }}
uses: ./.github/workflows/release-deploy-v3.yml
9 changes: 9 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
".": "0.0.0",
"docs": "5.18.3",
"packages/sage-assets": "1.12.3",
"packages/sage-packs": "1.0.49",
"packages/sage-react": "1.17.3",
"packages/sage-system": "1.2.14"

}
27 changes: 27 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"bootstrap-sha": "42ddac26b10cdb21dfcd547308fb6a29f9b8c6ef",
"bump-minor-pre-major": false,
"bump-patch-for-minor-pre-major": false,
"include-v-in-tag": false,
"include-component-in-tag": true,
"packages": {
"docs":{
},
"packages/sage-assets": {

},
"packages/sage-packs": {

},
"packages/sage-react": {

},
"packages/sage-system": {

}
},
"plugins": [
"sentence-case"
],
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
}
Loading