All checks were successful
Game Ideas build for PR / build_test (pull_request) Successful in 53s
66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
name: Game Ideas deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main] # Déclenchement sur push sur main
|
|
workflow_dispatch: # Lancer manuellement
|
|
|
|
jobs:
|
|
build-test-deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET 9
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '9.0.x'
|
|
|
|
- name: Restore dependencies
|
|
run: dotnet restore ./src/GameIdeas/GameIdeas.sln
|
|
|
|
- name: Build API
|
|
run: dotnet build ./src/GameIdeas/Server/GameIdeas.WebAPI/GameIdeas.WebAPI.csproj --configuration Release
|
|
|
|
- name: Build Blazor App
|
|
run: dotnet build ./src/GameIdeas/Client/GameIdeas.BlazorApp/GameIdeas.BlazorApp.csproj --configuration Release
|
|
|
|
- name: Test API
|
|
run: dotnet test ./src/GameIdeas/Server/GameIdeas.WebAPI.Tests/GameIdeas.WebAPI.Tests.csproj --configuration Release
|
|
|
|
- name: Publish API
|
|
run: dotnet publish ./src/GameIdeas/Server/GameIdeas.WebAPI/GameIdeas.WebAPI.csproj --configuration Release --output ./api
|
|
|
|
- name: Publish Blazor App
|
|
run: dotnet publish ./src/GameIdeas/Client/GameIdeas.BlazorApp/GameIdeas.BlazorApp.csproj --configuration Release --output ./blazor
|
|
|
|
- name: Copy API to Server
|
|
uses: appleboy/scp-action@v1
|
|
with:
|
|
host: ${{ secrets.DEV_HOST }}
|
|
username: ${{ secrets.DEV_USERNAME }}
|
|
password: ${{ secrets.DEV_PASSWORD }}
|
|
port: ${{ secrets.DEV_PORT }}
|
|
source: "./api/*"
|
|
target: "/home/gameideas"
|
|
|
|
- name: Copy Blazor App to Server
|
|
uses: appleboy/scp-action@v1
|
|
with:
|
|
host: ${{ secrets.DEV_HOST }}
|
|
username: ${{ secrets.DEV_USERNAME }}
|
|
password: ${{ secrets.DEV_PASSWORD }}
|
|
port: ${{ secrets.DEV_PORT }}
|
|
source: "./blazor/*"
|
|
target: "/var/www/"
|
|
|
|
- name: Start API on server
|
|
uses: appleboy/ssh-action@v1
|
|
with:
|
|
host: ${{ secrets.DEV_HOST }}
|
|
username: ${{ secrets.DEV_USERNAME }}
|
|
password: ${{ secrets.DEV_PASSWORD }}
|
|
port: ${{ secrets.DEV_PORT }}
|
|
script: bash ./update-api.sh |