|
|
@ -1,169 +1,194 @@ |
|
|
|
version: 'BSIPA-{branch}-{build}' |
|
|
|
|
|
|
|
environment: |
|
|
|
bsipa_version: '4.0.0-beta.2' |
|
|
|
gh_token: |
|
|
|
secure: E42gl/yepETuoLSwbJZ1GmEIPK6cCJu6zkd59NA21XiICtEV6COOLW7aehi1tcVU |
|
|
|
|
|
|
|
do_deploy: true |
|
|
|
BuildForBeatSaber: 'false' |
|
|
|
matrix: |
|
|
|
- BUILD_DOC: 'no' |
|
|
|
- BUILD_DOC: 'yes' |
|
|
|
|
|
|
|
pull_requests: |
|
|
|
do_not_increment_build_number: true |
|
|
|
|
|
|
|
install: |
|
|
|
- git submodule update --init --recursive |
|
|
|
- nuget restore |
|
|
|
- ps: | |
|
|
|
if (-Not $env:APPVEYOR_PULL_REQUEST_TITLE -And $env:BUILD_DOC -Eq 'yes') |
|
|
|
{ |
|
|
|
#git checkout $env:APPVEYOR_REPO_BRANCH -q |
|
|
|
choco install docfx -y |
|
|
|
} |
|
|
|
|
|
|
|
image: Visual Studio 2019 |
|
|
|
|
|
|
|
configuration: Release |
|
|
|
platform: |
|
|
|
- x64-Net4 |
|
|
|
- x86-Net4 |
|
|
|
- x64-Net3 |
|
|
|
- x86-Net3 |
|
|
|
|
|
|
|
artifacts: # When Net3 is added, this will need to be moved to the for block to only run for Net4 builds |
|
|
|
- path: BSIPA-ModList/bin/Release |
|
|
|
name: ModList |
|
|
|
- path: BSIPA-Meta/bin/$(platform)/$(configuration) |
|
|
|
name: BSIPA-$(platform) |
|
|
|
|
|
|
|
matrix: |
|
|
|
exclude: |
|
|
|
# Don't exclude Release_Net4|x64 |
|
|
|
- BUILD_DOC: 'yes' # Add one of these for most configuration sets, so we don't dupe |
|
|
|
platform: x86-Net4 |
|
|
|
- BUILD_DOC: 'yes' # Add one of these for most configuration sets, so we don't dupe |
|
|
|
platform: x64-Net3 |
|
|
|
- BUILD_DOC: 'yes' # Add one of these for most configuration sets, so we don't dupe |
|
|
|
platform: x86-Net3 |
|
|
|
|
|
|
|
before_build: |
|
|
|
- ps: | |
|
|
|
echo $env:Configuration $env:Platform $env:BuildingInsideVisualStudio |
|
|
|
|
|
|
|
for: |
|
|
|
- |
|
|
|
matrix: |
|
|
|
only: |
|
|
|
- platform: x64-Net4 |
|
|
|
environment: |
|
|
|
BuildForBeatSaber: 'true' |
|
|
|
- |
|
|
|
matrix: |
|
|
|
except: |
|
|
|
- BUILD_DOC: 'yes' |
|
|
|
|
|
|
|
skip_tags: true |
|
|
|
- |
|
|
|
matrix: |
|
|
|
except: |
|
|
|
- BUILD_DOC: 'no' |
|
|
|
|
|
|
|
artifacts: |
|
|
|
environment: |
|
|
|
do_deploy: false |
|
|
|
skip_tags: false |
|
|
|
build_script: |
|
|
|
- ps: | |
|
|
|
if ($env:APPVEYOR_REPO_BRANCH -eq 'master') |
|
|
|
{ |
|
|
|
cd docs |
|
|
|
|
|
|
|
function Git-Do { |
|
|
|
git config --global core.autocrlf true |
|
|
|
git config --global credential.helper store |
|
|
|
Add-Content "$HOME\.git-credentials" "https://$($env:gh_token):[email protected]`n" |
|
|
|
git config --global user.email $env:APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL |
|
|
|
git config --global user.name $env:APPVEYOR_REPO_COMMIT_AUTHOR |
|
|
|
git clone -q "https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded.git" -b gh-pages origin_site |
|
|
|
|
|
|
|
if (-Not (Test-Path origin_site/tags)) |
|
|
|
{ New-Item -ItemType directory -Path origin_site/tags } |
|
|
|
} |
|
|
|
|
|
|
|
function Do-DocFX |
|
|
|
{ |
|
|
|
Add-Content link_branch.json "{`"_gitContribute`":{`"sourceBranch`":`"$env:APPVEYOR_REPO_COMMIT`",`"apiSpecFolder`":`"docs/override`"}}" |
|
|
|
#& docfx metadata |
|
|
|
#& docfx build --globalMetadataFiles link_branch.json @Args |
|
|
|
#if ($lastexitcode -ne 0){ |
|
|
|
# throw [System.Exception] "docfx build failed with exit code $lastexitcode." |
|
|
|
#} |
|
|
|
powershell .\build.ps1 |
|
|
|
if ($lastexitcode -ne 0){ |
|
|
|
throw [System.Exception] "docfx build failed with exit code $lastexitcode." |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if ($env:APPVEYOR_REPO_TAG -eq "true") |
|
|
|
{ # Copy current site into tags |
|
|
|
& Do-DocFX |
|
|
|
|
|
|
|
& Git-Do |
|
|
|
|
|
|
|
cd origin_site # make things a bit easier |
|
|
|
|
|
|
|
$tagPath = "tags/$env:APPVEYOR_REPO_TAG_NAME" |
|
|
|
Move-Item ../_site $tagPath |
|
|
|
|
|
|
|
git add -A 2>&1 |
|
|
|
git commit -q -a -m "Saved tag $env:APPVEYOR_REPO_TAG_NAME" 2>&1 |
|
|
|
} |
|
|
|
elseif (-Not $env:APPVEYOR_PULL_REQUEST_TITLE) |
|
|
|
{ # Generate docs |
|
|
|
& Do-DocFX |
|
|
|
|
|
|
|
& Git-Do |
|
|
|
|
|
|
|
Move-Item origin_site/.git _site |
|
|
|
Move-Item origin_site/tags _site |
|
|
|
|
|
|
|
CD _site |
|
|
|
git add -A 2>&1 |
|
|
|
git commit -q -a -m "$env:APPVEYOR_REPO_COMMIT_MESSAGE -- Generated Docs" 2>&1 |
|
|
|
} |
|
|
|
|
|
|
|
git push -q origin gh-pages 2>&1 |
|
|
|
} |
|
|
|
|
|
|
|
branches: |
|
|
|
except: |
|
|
|
- gh-pages |
|
|
|
|
|
|
|
cache: |
|
|
|
- '%LocalAppData%\NuGet\v3-cache' # NuGet v3 |
|
|
|
|
|
|
|
build: |
|
|
|
verbosity: normal |
|
|
|
project: BSIPA.sln |
|
|
|
|
|
|
|
deploy: |
|
|
|
- provider: GitHub |
|
|
|
release: BSIPA $(bsipa_version)-draft |
|
|
|
tag: $(bsipa_version)-d |
|
|
|
description: | |
|
|
|
**Build:** [$(bsipa_version)-$(APPVEYOR_BUILD_NUMBER)](https://ci.appveyor.com/project/nike4613/beatsaber-ipa-reloaded-9smsb/builds/$(APPVEYOR_BUILD_ID)) |
|
|
|
**Latest Commit:** $(APPVEYOR_REPO_COMMIT) |
|
|
|
- `$(APPVEYOR_REPO_COMMIT_MESSAGE)` |
|
|
|
- `$(APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)` |
|
|
|
auth_token: |
|
|
|
secure: KhF3q/zWEFwrW0QeZLqE3NAkWR4u9iVhsmcyzXvwwJ28fUy+MzW4CWBx3RxNM60t |
|
|
|
artifact: '/.*[^_]\.zip/' |
|
|
|
draft: true |
|
|
|
force_update: true |
|
|
|
on: |
|
|
|
branch: master |
|
|
|
APPVEYOR_REPO_TAG: false |
|
|
|
do_deploy: true |
|
|
|
version: 'BSIPA-{branch}-{build}' |
|
|
|
|
|
|
|
environment: |
|
|
|
bsipa_version: '4.0.0-beta.2' |
|
|
|
gh_token: |
|
|
|
secure: E42gl/yepETuoLSwbJZ1GmEIPK6cCJu6zkd59NA21XiICtEV6COOLW7aehi1tcVU |
|
|
|
|
|
|
|
do_deploy: true |
|
|
|
BuildForBeatSaber: 'false' |
|
|
|
matrix: |
|
|
|
- BUILD_DOC: 'no' |
|
|
|
- BUILD_DOC: 'yes' |
|
|
|
|
|
|
|
pull_requests: |
|
|
|
do_not_increment_build_number: true |
|
|
|
|
|
|
|
install: |
|
|
|
- git submodule update --init --recursive |
|
|
|
- nuget restore |
|
|
|
- ps: | |
|
|
|
if (-Not $env:APPVEYOR_PULL_REQUEST_TITLE -And $env:BUILD_DOC -Eq 'yes') |
|
|
|
{ |
|
|
|
#git checkout $env:APPVEYOR_REPO_BRANCH -q |
|
|
|
choco install docfx -y |
|
|
|
} |
|
|
|
|
|
|
|
image: Visual Studio 2019 |
|
|
|
|
|
|
|
configuration: Release |
|
|
|
platform: |
|
|
|
- x64-Net4 |
|
|
|
- x86-Net4 |
|
|
|
- x64-Net3 |
|
|
|
- x86-Net3 |
|
|
|
|
|
|
|
artifacts: # When Net3 is added, this will need to be moved to the for block to only run for Net4 builds |
|
|
|
- path: BSIPA-ModList/bin/Release |
|
|
|
name: ModList |
|
|
|
- path: BSIPA-Meta/bin/$(platform)/$(configuration) |
|
|
|
name: BSIPA-$(platform) |
|
|
|
|
|
|
|
matrix: |
|
|
|
exclude: |
|
|
|
# Don't exclude Release_Net4|x64 |
|
|
|
- BUILD_DOC: 'yes' # Add one of these for most configuration sets, so we don't dupe |
|
|
|
platform: x86-Net4 |
|
|
|
- BUILD_DOC: 'yes' # Add one of these for most configuration sets, so we don't dupe |
|
|
|
platform: x64-Net3 |
|
|
|
- BUILD_DOC: 'yes' # Add one of these for most configuration sets, so we don't dupe |
|
|
|
platform: x86-Net3 |
|
|
|
|
|
|
|
before_build: |
|
|
|
- ps: | |
|
|
|
echo $env:Configuration $env:Platform $env:BuildingInsideVisualStudio |
|
|
|
|
|
|
|
for: |
|
|
|
- |
|
|
|
matrix: |
|
|
|
only: |
|
|
|
- platform: x64-Net4 |
|
|
|
environment: |
|
|
|
BuildForBeatSaber: 'true' |
|
|
|
- |
|
|
|
matrix: |
|
|
|
except: |
|
|
|
- BUILD_DOC: 'yes' |
|
|
|
|
|
|
|
skip_tags: true |
|
|
|
- |
|
|
|
matrix: |
|
|
|
except: |
|
|
|
- BUILD_DOC: 'no' |
|
|
|
|
|
|
|
artifacts: |
|
|
|
environment: |
|
|
|
do_deploy: false |
|
|
|
skip_tags: false |
|
|
|
build_script: |
|
|
|
- ps: | |
|
|
|
if ($True) |
|
|
|
{ |
|
|
|
cd docs |
|
|
|
|
|
|
|
$tagsName = "tags" |
|
|
|
$branchName = "branch" |
|
|
|
|
|
|
|
function Git-Do { |
|
|
|
git config --global core.autocrlf true |
|
|
|
git config --global credential.helper store |
|
|
|
Add-Content "$HOME\.git-credentials" "https://$($env:gh_token):[email protected]`n" |
|
|
|
git config --global user.email $env:APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL |
|
|
|
git config --global user.name $env:APPVEYOR_REPO_COMMIT_AUTHOR |
|
|
|
git clone -q "https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded.git" -b gh-pages origin_site |
|
|
|
|
|
|
|
if (-Not (Test-Path origin_site/$tagsName)) |
|
|
|
{ New-Item -ItemType directory -Path origin_site/$tagsName } |
|
|
|
if (-Not (Test-Path origin_site/$branchName)) |
|
|
|
{ New-Item -ItemType directory -Path origin_site/$branchName } |
|
|
|
} |
|
|
|
|
|
|
|
function Do-DocFX |
|
|
|
{ |
|
|
|
Add-Content link_branch.json "{`"_gitContribute`":{`"sourceBranch`":`"$env:APPVEYOR_REPO_COMMIT`",`"apiSpecFolder`":`"docs/override`"}}" |
|
|
|
powershell .\build.ps1 |
|
|
|
if ($lastexitcode -ne 0){ |
|
|
|
throw [System.Exception] "docfx build failed with exit code $lastexitcode." |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if ($env:APPVEYOR_REPO_TAG -eq "true" -And $env:APPVEYOR_REPO_BRANCH -eq 'master') |
|
|
|
{ # Copy current site into tags |
|
|
|
& Do-DocFX |
|
|
|
|
|
|
|
& Git-Do |
|
|
|
|
|
|
|
cd origin_site # make things a bit easier |
|
|
|
|
|
|
|
$tagPath = "$tagsName/$env:APPVEYOR_REPO_TAG_NAME" |
|
|
|
Move-Item ../_site $tagPath |
|
|
|
|
|
|
|
git add -A 2>&1 |
|
|
|
git commit -q -a -m "Saved tag $env:APPVEYOR_REPO_TAG_NAME" 2>&1 |
|
|
|
} |
|
|
|
elseif (-Not $env:APPVEYOR_PULL_REQUEST_TITLE) |
|
|
|
{ # Generate docs |
|
|
|
$message = "" |
|
|
|
if ($env:APPVEYOR_REPO_BRANCH -eq 'master') |
|
|
|
{ # do the special generation for master |
|
|
|
& Do-DocFX |
|
|
|
|
|
|
|
& Git-Do |
|
|
|
|
|
|
|
Move-Item origin_site/.git _site |
|
|
|
Move-Item origin_site/$tagsName _site |
|
|
|
Move-Item origin_site/$branchName _site |
|
|
|
|
|
|
|
cd _site |
|
|
|
|
|
|
|
$message = "Generated Docs -- $env:APPVEYOR_REPO_COMMIT_MESSAGE" |
|
|
|
} |
|
|
|
else |
|
|
|
{ # generate for another branch; this is more similar to the tag code |
|
|
|
& Do-DocFX |
|
|
|
|
|
|
|
& Git-Do |
|
|
|
|
|
|
|
cd origin_site # make things a bit easier |
|
|
|
|
|
|
|
$branchPath = "$branchName/$env:APPVEYOR_REPO_BRANCH" |
|
|
|
# force remove it |
|
|
|
Get-ChildItem -Path $branchPath -Recurse | Remove-Item -Force -Recurse |
|
|
|
Remove-Item $branchPath -Force |
|
|
|
|
|
|
|
# move generated into place |
|
|
|
Move-Item ../_site $branchPath |
|
|
|
|
|
|
|
$message = "Generated Docs ($env:APPVEYOR_REPO_BRANCH) -- $env:APPVEYOR_REPO_COMMIT_MESSAGE" |
|
|
|
} |
|
|
|
git add -A 2>&1 |
|
|
|
git commit -q -a -m "$message" 2>&1 |
|
|
|
} |
|
|
|
|
|
|
|
git push -q origin gh-pages 2>&1 |
|
|
|
} |
|
|
|
|
|
|
|
branches: |
|
|
|
except: |
|
|
|
- gh-pages |
|
|
|
|
|
|
|
cache: |
|
|
|
- '%LocalAppData%\NuGet\v3-cache' # NuGet v3 |
|
|
|
|
|
|
|
build: |
|
|
|
verbosity: normal |
|
|
|
project: BSIPA.sln |
|
|
|
|
|
|
|
deploy: |
|
|
|
- provider: GitHub |
|
|
|
release: BSIPA $(bsipa_version)-draft |
|
|
|
tag: $(bsipa_version)-d |
|
|
|
description: | |
|
|
|
**Build:** [$(bsipa_version)-$(APPVEYOR_BUILD_NUMBER)](https://ci.appveyor.com/project/nike4613/beatsaber-ipa-reloaded-9smsb/builds/$(APPVEYOR_BUILD_ID)) |
|
|
|
**Latest Commit:** $(APPVEYOR_REPO_COMMIT) |
|
|
|
- `$(APPVEYOR_REPO_COMMIT_MESSAGE)` |
|
|
|
- `$(APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)` |
|
|
|
auth_token: |
|
|
|
secure: KhF3q/zWEFwrW0QeZLqE3NAkWR4u9iVhsmcyzXvwwJ28fUy+MzW4CWBx3RxNM60t |
|
|
|
artifact: '/.*[^_]\.zip/' |
|
|
|
draft: true |
|
|
|
force_update: true |
|
|
|
on: |
|
|
|
branch: master |
|
|
|
APPVEYOR_REPO_TAG: false |
|
|
|
do_deploy: true |