platbik/.github/workflows/release.yml

52 lines
1.3 KiB
YAML

name: Build and Release
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
# Frontend
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: 24
registry-url: 'https://npm.pkg.github.com/'
scope: '@danneschs'
- run: npm ci
working-directory: ./src/frontend
env:
NODE_AUTH_TOKEN: ${{ secrets.PACKAGES_FETCH_TOKEN }}
- run: npm run build
working-directory: ./src/frontend
# Backend
- name: Setup .NET
uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7
with:
dotnet-version: '10.0.x'
- run: dotnet publish backend.csproj -c Release -o ./publish
working-directory: ./src/backend
# Create ZIP
- name: Create Zip Archive
run: zip -r release.zip ./src/frontend/dist ./publish
# Release
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: release.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}