Skip to content

Commit

Permalink
build: add structured release process
Browse files Browse the repository at this point in the history
  • Loading branch information
philostler committed Mar 16, 2024
1 parent 38e0aaf commit b5346ad
Show file tree
Hide file tree
Showing 11 changed files with 127 additions and 58 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
on:
workflow_call:
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/workflows/setup
- name: Build
# Linting has already been validated so skip to improve build speed
run: yarn build --no-lint
working-directory: packages/www
14 changes: 14 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
on:
workflow_call:
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/workflows/setup
- name: Check formatting
run: yarn format:check
working-directory: packages/www
14 changes: 14 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
on:
workflow_call:
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/workflows/setup
- name: Check linting
run: yarn lint:check
working-directory: packages/www
57 changes: 0 additions & 57 deletions .github/workflows/main-push.yml

This file was deleted.

16 changes: 16 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Pull Request
on:
pull_request:
branches:
- "!release-please*/*"
jobs:
format:
name: Format
uses: ./.github/workflows/format.yml
lint:
name: Lint
uses: ./.github/workflows/lint.yml
build:
name: Build
needs: [format, lint]
uses: ./.github/workflows/build.yml
35 changes: 35 additions & 0 deletions .github/workflows/push-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Push main
on:
push:
branches: main
permissions:
contents: write
pull-requests: write
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
steps:
- uses: google-github-actions/release-please-action@v4
id: release
with:
config-file: release-please-config.json
manifest-file: release-please-manifest.json
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
format:
name: Format
needs: release
if: ${{ needs.release.outputs.release_created }}
uses: ./.github/workflows/format.yml
lint:
name: Lint
needs: release
if: ${{ needs.release.outputs.release_created }}
uses: ./.github/workflows/lint.yml
build:
name: Build
needs: [release, format, lint]
if: ${{ needs.release.outputs.release_created }}
uses: ./.github/workflows/build.yml
22 changes: 22 additions & 0 deletions .github/workflows/setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Setup
runs:
using: composite
steps:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
cache: yarn
cache-dependency-path: packages/www/yarn.lock
node-version-file: packages/www/package.json
- name: Restore Next.js build cache
uses: actions/cache@v4
with:
path: packages/www/.next/cache
# Generate a new cache whenever packages or source files change
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache
restore-keys: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: Install dependencies
run: yarn install
shell: bash
working-directory: packages/www
2 changes: 2 additions & 0 deletions packages/www/.prettierignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
.next

CHANGELOG.md
2 changes: 1 addition & 1 deletion packages/www/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "www.philostler.com",
"name": "@philostler.com/www",
"version": "1.0.0",
"private": true,
"scripts": {
Expand Down
7 changes: 7 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"pull-request-header": ":robot: Release Please says *\"I have created a new release\"*",
"packages": {
"packages/www": {}
},
"sentence-case": true
}
1 change: 1 addition & 0 deletions release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}

0 comments on commit b5346ad

Please sign in to comment.