2022-10-08 14:38:26 +00:00
|
|
|
name: Tests
|
2021-09-27 12:42:46 +00:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [ main ]
|
|
|
|
pull_request:
|
|
|
|
branches: [ main ]
|
|
|
|
|
|
|
|
env:
|
2024-01-16 00:31:12 +00:00
|
|
|
VERSION: 3.5.0.1
|
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
|
2023-10-21 06:33:58 +00:00
|
|
|
|
|
|
|
- name: Setup .NET Core SDK 8.0.x
|
|
|
|
uses: actions/setup-dotnet@v1
|
|
|
|
with:
|
|
|
|
dotnet-version: '8.0.x'
|
|
|
|
include-prerelease: true
|
|
|
|
|
2022-11-05 13:25:53 +00:00
|
|
|
- name: Setup .NET Core SDK 7.0.x
|
2021-09-27 12:42:46 +00:00
|
|
|
uses: actions/setup-dotnet@v1
|
|
|
|
with:
|
2022-11-05 13:25:53 +00:00
|
|
|
dotnet-version: '7.0.x'
|
2021-09-27 12:42:46 +00:00
|
|
|
include-prerelease: true
|
2022-11-13 14:43:30 +00:00
|
|
|
|
|
|
|
- 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-31 14:55:27 +00:00
|
|
|
run: dotnet test /p:EnableWindowsTargeting=true --filter "Category!=FlakeyNetwork"
|
2022-10-06 22:15:48 +00:00
|
|
|
|
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-10-25 12:35:05 +00:00
|
|
|
|
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
|
2024-01-06 20:56:56 +00:00
|
|
|
- Wabbajack.Configuration
|
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
|
2024-02-01 22:46:39 +00:00
|
|
|
- Wabbajack.Downloaders.VerificationCache
|
2021-09-27 12:42:46 +00:00
|
|
|
- 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
|
|
|
|
|
2023-12-21 19:02:38 +00:00
|
|
|
- name: Setup .NET Core SDK 8.0.x
|
2021-09-27 12:42:46 +00:00
|
|
|
uses: actions/setup-dotnet@v1
|
|
|
|
with:
|
2023-12-21 19:02:38 +00:00
|
|
|
dotnet-version: '8.0.x'
|
2021-09-27 12:42:46 +00:00
|
|
|
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
|
|
|
|