mirror of
https://github.com/Ellpeck/MLEM.git
synced 2024-11-14 10:09:09 +01:00
78 lines
2.6 KiB
YAML
78 lines
2.6 KiB
YAML
on: [push, pull_request]
|
|
jobs:
|
|
build-demo:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Clone repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: '8.0.x'
|
|
- name: Restore tools
|
|
run: dotnet tool restore
|
|
- name: Run PublishWeb
|
|
run: dotnet cake --target PublishWeb --ref ${{ github.ref }} --buildNum ${{ github.run_number }}
|
|
- name: Upload demo artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: Demos.Web/bin/Release/net8.0/publish/wwwroot
|
|
name: demo
|
|
include-hidden-files: true
|
|
if-no-files-found: error
|
|
build-docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: '8.0.x'
|
|
- name: Restore tools
|
|
run: dotnet tool restore
|
|
- name: Run Document
|
|
run: dotnet cake --target Document --ref ${{ github.ref }} --buildNum ${{ github.run_number }}
|
|
- name: Upload docs artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: Docs/_site
|
|
name: docs
|
|
include-hidden-files: true
|
|
if-no-files-found: error
|
|
deploy:
|
|
needs: [build-demo, build-docs]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download demo artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: demo
|
|
path: demo
|
|
- name: Download docs artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: docs
|
|
path: docs
|
|
- name: Combine sites
|
|
run: |
|
|
mv docs _site
|
|
mv demo _site/demo
|
|
- name: Upload combined artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: _site
|
|
name: site
|
|
include-hidden-files: true
|
|
if-no-files-found: error
|
|
- name: Deploy
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
# this is a beautiful way to deploy a website and i will not take any criticism
|
|
run: |
|
|
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && sudo dpkg -i cloudflared.deb
|
|
mkdir ~/.ssh && echo "${{ secrets.ELLBOT_KEY }}" > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
|
|
rsync -rv --delete -e 'ssh -o "ProxyCommand cloudflared access ssh --hostname %h" -o "StrictHostKeyChecking=no"' _site/. ellbot@ssh.ellpeck.de:/var/www/MLEM
|