Skip to content
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
6 changes: 3 additions & 3 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ jobs:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: yarn install
- name: Prettier check
run: yarn prettier:check
- name: Format check
run: yarn format:check
- name: Build
run: yarn build
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Lint
run: yarn lint
- name: Recreate JSON Schemas
run: yarn create-schemas && yarn build # an incremental rebuild is neccessary to use the updated schema
run: yarn create-schemas && yarn build # an incremental rebuild is necessary to use the updated schema
- name: Test
run: yarn test:unit
- uses: codecov/codecov-action@v5
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/check-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Changelog checks
on:
push:
branches-ignore:
- 'release/**'
- 'master'
- 'develop'
pull_request:
branches:
- develop
jobs:
check:
name: Check changelog completion
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
- name: Check changelog entries
run: yarn changelog check
env:
CI: true
3 changes: 1 addition & 2 deletions .github/workflows/check-version-bump.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@ jobs:
with:
fetch-depth: 0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Check version bumps
continue-on-error: true ## Set this to false once versioning has been set up
run: yarn version check
env:
CI: true
108 changes: 108 additions & 0 deletions .github/workflows/publish-to-dockerhub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Release to Docker Hub

on:
workflow_dispatch:
# No inputs - when you trigger, it releases

permissions:
contents: write # Push branches/tags

jobs:
release:
name: Release
runs-on: ubuntu-latest
# Only allow running from master branch
if: github.ref == 'refs/heads/master'

steps:
- uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}

- name: Checkout master branch
uses: actions/checkout@v4
with:
ref: master
fetch-depth: 0 # Full history for merging
token: ${{ steps.app-token.outputs.token }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'

- name: Install dependencies
run: yarn install --immutable

- name: Build
run: yarn build

- name: Lint
run: yarn lint

- name: Test
run: yarn test:unit

- name: Apply release changes
run: yarn applyReleaseChanges

- name: Get version from package.json
id: version
run: |
VERSION=$(node -p "require('./package.json').version")
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Release version: $VERSION"

- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Commit changes if any
run: |
git add -A
if git diff --staged --quiet; then
echo "No changes to commit"
else
git commit -m "chore: release v${{ steps.version.outputs.version }}"
fi

- name: Push master branch
run: git push origin master

- name: Sync changes to develop
run: |
git checkout develop
git merge master --no-edit
git push origin develop

- name: Create and push release tag
continue-on-error: true
run: |
git tag "v${{ steps.version.outputs.version }}"
git push origin "v${{ steps.version.outputs.version }}"

- name: Docker login
env:
DOCKER_USER: ${{ secrets.DOCKER_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
install: true

- name: Build and push Docker image
run: |
docker build \
--platform linux/arm64,linux/amd64 \
--tag furystack/boilerplate:${{ steps.version.outputs.version }} \
--tag furystack/boilerplate:latest \
. \
--push
2 changes: 2 additions & 0 deletions .github/workflows/ui-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: yarn install
- name: Format check
run: yarn format:check
- name: Build app
run: yarn build
- name: Install Playwright browsers
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ testresults

.pnp.*
.yarn/*
!.yarn/changelogs
!.yarn/patches
!.yarn/plugins
!.yarn/releases
Expand Down
Empty file added .yarn/changelogs/.gitkeep
Empty file.
17 changes: 17 additions & 0 deletions .yarn/changelogs/furystack-boilerplate-app.consolidation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- version-type: patch -->
# furystack-boilerplate-app

## 🔧 Chores

### Project Consolidation

Standardized project configuration, updated CI workflows, and added changelog plugin support.

**Changes:**

- Renamed npm scripts from `prettier`/`prettier:check` to `format`/`format:check` for consistency
- Added format check step to Azure Pipelines
- Added format check step to UI tests workflow
- Fixed 'neccessary' typo to 'necessary' in build-test.yml
- Added `@furystack/yarn-plugin-changelog` for changelog management
- Updated `applyVersionBumps` script to `applyReleaseChanges` with changelog apply support
Loading
Loading