chore: demo pages #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow is configured for Windows deployment by default. | |
| # If you're deploying to a different platform (Linux, Cloud, etc.), | |
| # you'll need to modify this configuration accordingly. | |
| name: Build and publish | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| # Using Windows runner by default. Change this for different platforms | |
| runs-on: self-hosted | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v3 | |
| - name: Setup .NET 6 and .NET 8 | |
| uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: | | |
| 6.0.x | |
| 8.0.x | |
| - name: Build | |
| run: ./build.ps1 Compile | |
| - name: Lint Check | |
| run: ./build.ps1 LintCheck --skip Compile | |
| - name: Unit Test | |
| run: ./build.ps1 RunUnitTests --skip LintCheck | |
| - name: Publish WebApp project | |
| run: dotnet publish ./src/2-Clients/WebApp/WebApp.csproj -c Release -o ./output/WebApp | |
| - name: Publish AdminPanel project | |
| run: dotnet publish ./src/2-Clients/AdminPanel/AdminPanel.csproj -c Release -o ./output/AdminPanel | |
| - name: Publish Api project | |
| run: dotnet publish ./src/2-Clients/Api/Api.csproj -c Release -o ./output/Api | |
| - name: Create WebApp.zip | |
| run: | | |
| Compress-Archive -Path ./output/WebApp/* -DestinationPath ./output/WebApp.zip | |
| - name: Create AdminPanel.zip | |
| run: | | |
| Compress-Archive -Path ./output/AdminPanel/* -DestinationPath ./output/AdminPanel.zip | |
| - name: Create Api.zip | |
| run: | | |
| Compress-Archive -Path ./output/Api/* -DestinationPath ./output/Api.zip | |
| # Note: This workflow assumes Windows-based deployment. | |
| # For other platforms, you might need to: | |
| # 1. Change the runner (e.g., ubuntu-latest for Linux) | |
| # 2. Modify the build commands (e.g., use bash scripts instead of PowerShell) | |
| # 3. Adjust the artifact packaging (e.g., use tar for Linux) | |
| # 4. Update the deployment steps in your CD workflow |