|
|
- 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')
- {
- 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
-
- 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):[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
|