Files
rdap/.github/workflows/release.yml
Xevion c17f733da1 ci: implement comprehensive CI/CD and workflow automation
- Add GitHub Actions workflows for CI, release, and deployment
- Configure Renovate for automated dependency updates
- Set up Husky pre-commit hooks with lint-staged
- Add commitlint for enforcing Conventional Commits
- Configure semantic-release for automated versioning
- Add Prettier configuration for consistent formatting
- Reformat codebase with new formatting rules
2025-10-22 02:48:18 -05:00

72 lines
2.0 KiB
YAML

name: Release
on:
push:
branches:
- master
permissions:
contents: write
issues: write
pull-requests: write
jobs:
release:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Check for skip ci
id: check_skip
run: |
if git log -1 --pretty=%B | grep -q '\[skip ci\]'; then
echo "skip=true" >> $GITHUB_OUTPUT
else
echo "skip=false" >> $GITHUB_OUTPUT
fi
- name: Setup pnpm
if: steps.check_skip.outputs.skip == 'false'
uses: pnpm/action-setup@v4
with:
version: 9.0.0
- name: Setup Node.js
if: steps.check_skip.outputs.skip == 'false'
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
- name: Install dependencies
if: steps.check_skip.outputs.skip == 'false'
run: pnpm install --frozen-lockfile
- name: Build application
if: steps.check_skip.outputs.skip == 'false'
run: pnpm build
env:
NODE_ENV: production
- name: Run semantic release
if: steps.check_skip.outputs.skip == 'false'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: pnpm semantic-release
- name: Upload release artifacts
if: steps.check_skip.outputs.skip == 'false'
uses: actions/upload-artifact@v4
with:
name: release-build
path: |
.next/
out/
retention-days: 30