Add tests CI/CD

This commit is contained in:
Asriel Camora
2023-10-31 12:46:56 -07:00
parent a8dcc9f626
commit a382da066e
+26 -11
View File
@@ -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}}