wabbajack/.github/workflows/tests.yaml

120 lines
3.7 KiB
YAML
Raw Normal View History

2021-09-27 12:42:46 +00:00
name: Main Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
2022-10-01 05:43:03 +00:00
VERSION: 3.0.1.8
2021-09-27 12:42:46 +00:00
jobs:
build:
name: Test ${{ matrix.project }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
env:
NEXUS_API_KEY: ${{ secrets.NEXUS_API_KEY }}
NEXUS_LOGIN: ${{ secrets.NEXUS_LOGIN }}
VECTOR_PLEXUS: ${{ secrets.VECTOR_PLEXUS }}
LOVERS_LAB: ${{ secrets.LOVERS_LAB }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v2
- name: Set Permissions
if: runner.os != 'Windows'
run: chmod -R +x Wabbajack.FileExtractor/Extractors
- name: Setup .NET Core SDK 6.0.x
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
include-prerelease: true
2021-12-02 14:04:04 +00:00
2021-09-27 12:42:46 +00:00
- name: Test
2022-10-06 22:49:27 +00:00
run: dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:EnableWindowsTargeting=true
2021-09-27 12:42:46 +00:00
2022-10-06 22:15:48 +00:00
- uses: codecov/codecov-action@v3
with:
flags: unittests, ${{runner.os}}
verbose: true
2021-10-25 21:06:40 +00:00
#- name: Upload Test Folder on Failure
# if: ${{ failure() }}
# uses: actions/upload-artifact@v2
# with:
# name: Failed Files
# path: ./
2021-09-27 12:42:46 +00:00
publish:
2021-09-28 03:33:52 +00:00
name: Publish Projects
2021-09-27 12:42:46 +00:00
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}
strategy:
matrix:
project:
- Wabbajack.Common
- Wabbajack.Compiler
2021-09-28 03:33:52 +00:00
- Wabbajack.Compression.BSA
2022-04-11 09:28:02 +00:00
- Wabbajack.Compression.Zip
2022-04-11 11:46:48 +00:00
- Wabbajack.Downloaders.Bethesda
- Wabbajack.Downloaders.Dispatcher
2022-01-09 16:46:53 +00:00
- Wabbajack.Downloaders.GameFile
2022-04-11 11:46:48 +00:00
- Wabbajack.Downloaders.GoogleDrive
- Wabbajack.Downloaders.Http
- Wabbajack.Downloaders.Interfaces
2021-09-28 03:33:52 +00:00
- Wabbajack.Downloaders.IPS4OAuth2Downloader
2022-04-11 11:46:48 +00:00
- Wabbajack.Downloaders.Manual
2021-09-28 03:33:52 +00:00
- Wabbajack.Downloaders.MediaFire
- Wabbajack.Downloaders.Mega
- Wabbajack.Downloaders.ModDB
2021-09-27 12:42:46 +00:00
- Wabbajack.Downloaders.Nexus
- Wabbajack.Downloaders.WabbajackCDN
- Wabbajack.DTOs
- Wabbajack.FileExtractor
- Wabbajack.Hashing.PHash
- Wabbajack.Hashing.xxHash64
- Wabbajack.Installer
2022-04-11 11:46:48 +00:00
- Wabbajack.IO.Async
- Wabbajack.Networking.BethesdaNet
2021-09-28 03:33:52 +00:00
- Wabbajack.Networking.Discord
- Wabbajack.Networking.GitHub
2021-09-27 12:42:46 +00:00
- Wabbajack.Networking.Http
- Wabbajack.Networking.Http.Interfaces
- Wabbajack.Networking.NexusApi
2022-01-09 14:39:35 +00:00
- Wabbajack.Networking.Steam
2021-09-27 12:42:46 +00:00
- Wabbajack.Networking.WabbajackClientApi
- Wabbajack.Paths
- Wabbajack.Paths.IO
- Wabbajack.RateLimiter
2022-01-09 14:39:35 +00:00
- Wabbajack.Services.OSIntegrated
2022-04-11 11:46:48 +00:00
- Wabbajack.VFS
2022-06-26 21:56:49 +00:00
- Wabbajack.VFS.Interfaces
2021-09-27 12:42:46 +00:00
needs: build
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core SDK 6.0.x
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
include-prerelease: true
2022-04-10 14:25:10 +00:00
- name: Restore
run: dotnet restore ${{ matrix.project }}/${{ matrix.project }}.csproj
2022-04-10 14:03:23 +00:00
- name: Build
run: dotnet build ${{ matrix.project }}/${{ matrix.project }}.csproj --no-restore --configuration Release
- name: Pack
run: dotnet pack ${{ matrix.project }}/${{ matrix.project }}.csproj --no-build --configuration Release --include-symbols -p:SymbolPackageFormat=snupkg -o .
- name: Publish
run: dotnet nuget push *.nupkg --api-key ${{secrets.NUGET_KEY}} --source "https://api.nuget.org/v3/index.json" --skip-duplicate
2021-09-27 12:42:46 +00:00