Skip to content

Commit

Permalink
chore: bootstrap releases for path: . (#1834)
Browse files Browse the repository at this point in the history
* chore: bootstrap releases for path: .

* chore: updates to include other packages

* chore: update workflows to leverage release please

---------

Co-authored-by: Julian Skinner <[email protected]>
  • Loading branch information
ju-Skinner and kajabi-bot committed Nov 7, 2023
1 parent 42ddac2 commit 080e1ee
Show file tree
Hide file tree
Showing 5 changed files with 342 additions and 5 deletions.
10 changes: 5 additions & 5 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
workflow_dispatch:
# 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 v3'

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
37 changes: 37 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
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":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"docs", "section": "Documentation Updates","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 }}"
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"

}
31 changes: 31 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"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":{
"package-name": "@kajabi/sage"
},
"packages/sage-assets": {
"package-name": "@kajabi/sage-assets"

},
"packages/sage-packs": {
"package-name": "@kajabi/sage-packs"

},
"packages/sage-react": {
"package-name": "@kajabi/sage-react"

},
"packages/sage-system": {
"package-name": "@kajabi/sage-system"
}
},
"plugins": [
"sentence-case"
],
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
}

0 comments on commit 080e1ee

Please sign in to comment.