1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-12-25 01:39:23 +01:00

Added web demo to the website (#24)

* work on publishing the web demo

* some fixes

* link to web demo
This commit is contained in:
Ell 2024-09-14 11:37:06 +02:00 committed by GitHub
parent c4bd03ff04
commit 3fc42143d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 91 additions and 25 deletions

View file

@ -20,32 +20,10 @@ jobs:
uses: android-actions/setup-android@v3
- name: Restore tools
run: dotnet tool restore
- name: Run cake
- name: Run Publish
uses: coactions/setup-xvfb@v1
with:
run: dotnet cake --target Publish --ref ${{ github.ref }} --buildNum ${{ github.run_number }}
env:
NUGET_KEY: ${{ secrets.NUGET_KEY }}
BAGET_KEY: ${{ secrets.BAGET_KEY }}
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 cake
run: dotnet cake --target Document --ref ${{ github.ref }} --buildNum ${{ github.run_number }}
- 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"' Docs/_site/. ellbot@ssh.ellpeck.de:/var/www/MLEM

78
.github/workflows/web.yml vendored Normal file
View file

@ -0,0 +1,78 @@
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

View file

@ -8,7 +8,8 @@
"**/MLEM**.csproj"
],
"exclude": [
"**.FNA.**"
"**.FNA.**",
"**.KNI.**"
]
}
],

View file

@ -6,3 +6,5 @@
href: api/
- name: Changelog
href: ../CHANGELOG.md
- name: Web Demo
href: demo/

View file

@ -9,7 +9,7 @@ MLEM is platform-agnostic and multi-targets .NET Standard 2.0, .NET 8.0 and .NET
- Get prerelease builds on [BaGet](https://nuget.ellpeck.de/?q=mlem)
- See the source code on [GitHub](https://github.com/Ellpeck/MLEM)
- See tutorials and API documentation on [the website](https://mlem.ellpeck.de/)
- Check out [the demos](https://github.com/Ellpeck/MLEM/tree/main/Demos) on [Desktop](https://github.com/Ellpeck/MLEM/tree/main/Demos.DesktopGL) or [Android](https://github.com/Ellpeck/MLEM/tree/main/Demos.Android)
- Check out [the demos](https://github.com/Ellpeck/MLEM/tree/main/Demos) on [Desktop](https://github.com/Ellpeck/MLEM/tree/main/Demos.DesktopGL), [Android](https://github.com/Ellpeck/MLEM/tree/main/Demos.Android) or [Web](https://mlem.ellpeck.de/demo)
- See [the changelog](https://mlem.ellpeck.de/CHANGELOG.html) for information on updates
- Join [the Discord server](https://link.ellpeck.de/discordweb) to ask questions

View file

@ -83,6 +83,13 @@ Task("Document").Does(() => {
DocFxServe("Docs/_site");
});
Task("PublishWeb").Does(() => {
DotNetPublish("Demos.Web/Demos.Web.KNI.csproj", new DotNetPublishSettings {
Configuration = config,
ArgumentCustomization = args => args.Append($"/p:Version={version}")
});
});
Task("Default").IsDependentOn("Pack");
Task("Publish").IsDependentOn("Push");