version: 'BSIPA-{branch}-{build}' environment: bsipa_version: '4.0.6' gh_token: secure: E42gl/yepETuoLSwbJZ1GmEIPK6cCJu6zkd59NA21XiICtEV6COOLW7aehi1tcVU do_deploy: true BuildForBeatSaber: 'false' BUILD_DOC: 'no' pull_requests: do_not_increment_build_number: true init: - git config --global core.autocrlf true install: - git submodule update --init --recursive - nuget restore - ps: | if (-Not $env:APPVEYOR_PULL_REQUEST_TITLE -And $env:BUILD_DOC -Eq 'yes') { 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: allow_failures: - platform: x64-Net3 - platform: x86-Net3 for: - matrix: only: - platform: x64-Net4 environment: BuildForBeatSaber: 'true' - matrix: except: - BUILD_DOC: 'yes' skip_tags: true - matrix: only: - BUILD_DOC: 'yes' artifacts: environment: do_deploy: false skip_tags: false build_script: - ps: | 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):x-oauth-basic@github.com`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