Add tests CI/CD
This commit is contained in:
+26
-11
@@ -1,9 +1,7 @@
|
|||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
PLUGIN_REPO: WorkingRobot/MyDalamudPlugins
|
PLUGIN_REPO: WorkingRobot/MyDalamudPlugins
|
||||||
@@ -12,6 +10,8 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
env:
|
||||||
|
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -20,34 +20,49 @@ jobs:
|
|||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Setup MSBuild
|
- name: Setup MSBuild
|
||||||
uses: microsoft/setup-msbuild@v1.0.3
|
uses: microsoft/setup-msbuild@v1
|
||||||
|
|
||||||
- name: Download Dalamud
|
- name: Download Dalamud
|
||||||
run: |
|
run: |
|
||||||
Invoke-WebRequest -Uri https://goatcorp.github.io/dalamud-distrib/stg/latest.zip -OutFile latest.zip
|
Invoke-WebRequest -Uri https://goatcorp.github.io/dalamud-distrib/stg/latest.zip -OutFile latest.zip
|
||||||
Expand-Archive -Force latest.zip "$env:AppData\XIVLauncher\addon\Hooks\dev\"
|
Expand-Archive -Force latest.zip "$env:AppData\XIVLauncher\addon\Hooks\dev\"
|
||||||
|
|
||||||
- name: Build
|
- name: Restore
|
||||||
run: |
|
run: |
|
||||||
dotnet restore -r win ${{env.PROJECT_NAME}}.sln
|
dotnet restore -r win ${{env.PROJECT_NAME}}.sln
|
||||||
dotnet build --configuration Release
|
|
||||||
env:
|
|
||||||
DOTNET_CLI_TELEMETRY_OUTPUT: true
|
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Build
|
||||||
uses: actions/upload-artifact@v2.2.1
|
run: |
|
||||||
|
dotnet build --configuration Release
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
dotnet test --configuration Release --logger "trx;logfilename=results.trx" --logger "html;logfilename=results.html" --logger "console;verbosity=detailed" --results-directory="TestResults"
|
||||||
|
|
||||||
|
- name: Upload Artifacts
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{env.PROJECT_NAME}}
|
name: ${{env.PROJECT_NAME}}
|
||||||
path: ${{env.PROJECT_NAME}}/bin/x64/Release/${{env.PROJECT_NAME}}
|
path: ${{env.PROJECT_NAME}}/bin/x64/Release/${{env.PROJECT_NAME}}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Upload Test Results
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: ${{env.PROJECT_NAME}}
|
||||||
|
path: TestResults
|
||||||
|
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
id: release
|
||||||
with:
|
with:
|
||||||
files: ${{env.PROJECT_NAME}}/bin/x64/Release/${{env.PROJECT_NAME}}/*
|
files: ${{env.PROJECT_NAME}}/bin/x64/Release/${{env.PROJECT_NAME}}/*
|
||||||
|
|
||||||
- name: Trigger Plugin Repo Update
|
- name: Trigger Plugin Repo Update
|
||||||
uses: peter-evans/repository-dispatch@v1
|
uses: peter-evans/repository-dispatch@v2
|
||||||
|
if: ${{ steps.release.conclusion == 'success' }}
|
||||||
with:
|
with:
|
||||||
token: ${{secrets.PAT}}
|
token: ${{secrets.PAT}}
|
||||||
repository: ${{env.PLUGIN_REPO}}
|
repository: ${{env.PLUGIN_REPO}}
|
||||||
|
|||||||
Reference in New Issue
Block a user