Files
appointment-booking-software/.github/workflows/release.yml
T
Hendrik Belitz 5084fe3ea5 37 added updating the package.json version number when a new github release is tagged.
37 added building and pushing the docker image when a new github release is tagged
2025-06-23 17:15:53 +02:00

81 lines
2.1 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Update package.json version
run: |
TAG_VERSION="${{ github.ref_name }}"
VERSION="${TAG_VERSION#v}"
npm version "$VERSION" --no-git-tag-version
- name: Run type checking
run: npm run check
- name: Run linting
run: npm run lint
- name: Run unit tests
run: npm run test:unit -- --run
- name: Build application
run: npm run build
- name: Install Playwright browsers
run: npx playwright install --with-deps
- name: Run E2E tests
run: npm run test:e2e
- name: Build and push Docker images
run: npm run docker:build-and-push
- name: Create Release Archive
run: |
mkdir -p release-assets
tar -czf release-assets/open-reception-${{ github.ref_name }}.tar.gz build/
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
name: Release ${{ github.ref_name }}
generate_release_notes: true
body: |
## Release ${{ github.ref_name }}
This release includes the latest version of Open Reception appointment booking software.
### What's Changed
<!-- Release notes will be automatically generated above -->
### Installation
Extract the archive and follow the deployment instructions in the README.
**Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.event.before }}...${{ github.ref_name }}
files: |
release-assets/open-reception-${{ github.ref_name }}.tar.gz
draft: false
prerelease: ${{ contains(github.ref_name, '-') }}