diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..9fe08d6
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,77 @@
+# This is a basic workflow to help you get started with Actions
+
+name: Deploy to GitHub Pages
+
+# Controls when the workflow will run
+on:
+ # Triggers the workflow on push or pull request events but only for the main branch
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+ # This workflow contains a single job called "build"
+ build:
+ # The type of runner that the job will run on
+ runs-on: ubuntu-latest
+
+ # Steps represent a sequence of tasks that will be executed as part of the job
+ steps:
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v4.1.5
+ - uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: '8.0.x'
+ include-prerelease: false
+ # publishes Blazor project to the release-folder
+ #- name: Install .NET Core WASM-TOOLS
+ # run: dotnet workload install wasm-tools
+ - name: Publish .NET Core Project
+ run: dotnet publish OnlineExams.csproj -c Release -o release --nologo
+
+ - name: Change base-tag in index.html from / to OnlineExams
+ run: sed -i 's///g' release/wwwroot/index.html
+ - name: Fix service-worker-assets.js hashes
+ working-directory: release/wwwroot
+ run: |
+ jsFile=$( service-worker-assets.js
+
+ # copy index.html to 404.html to serve the same file when a file is not found
+ - name: copy index.html to 404.html
+ run: cp release/wwwroot/index.html release/wwwroot/404.html
+
+ # add .nojekyll file to tell GitHub pages to not treat this as a Jekyll project. (Allow files and folders starting with an underscore)
+ - name: Add .nojekyll file
+ run: touch release/wwwroot/.nojekyll
+
+ - name: Commit wwwroot to GitHub Pages
+ uses: JamesIves/github-pages-deploy-action@v4
+ with:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ BRANCH: gh-pages
+ FOLDER: release/wwwroot