diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..c745d56c --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,73 @@ +# Appveyor configuration file for bash build of packs +version: '{build}' +skip_tags: true +environment: + # It's prefered to have the GithubAuthToken (encrypted) set in the UI. Follow this guide for the instructions https://www.appveyor.com/docs/deployment/github/#provider-settings. + CommitTimestamp: 0 + CYG_MIRROR: http://cygwin.mirror.constant.com + CYG_PACKAGES: bash,php,dos2unix + matrix: + - BUILD_TYPE: 64bit + CYG_ROOT: C:\mycygwin64 + CYG_CACHE: C:\mycygwin64\var\cache\setup + CYG_SETUP: setup-x86_64.exe + BASH: C:\mycygwin64\bin\bash +# - BUILD_TYPE: 32bit +# CYG_ROOT: C:\mycygwin +# CYG_CACHE: C:\mycygwin\var\cache\setup +# CYG_SETUP: setup-x86.exe +# BASH: C:\mycygwin\bin\bash + +# Cache Cygwin files to speed up build +cache: + - '%CYG_SETUP%' + - '%CYG_CACHE%' +clone_depth: 1 + +# We want to convert line endings to CRLF because thats what the txt files in the zip should end up as +init: + - git config --global core.autocrlf true +# Use appveyor http proxy + - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-http-proxy.ps1')) +# Allows RDP +# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) + +# Install needed build dependencies +install: + - if defined appveyor_repo_commit_message_extended (echo "Found commit description!") else (set appveyor_repo_commit_message_extended='No description was added to this commit.') # If there's is a description set it to that, otherwise leave it. + - ps: $env:CommitTimestamp=[System.DateTime]::UtcNow # Readable timestamp + - ps: if (Test-Path Env:\CYG_ROOT) { Start-FileDownload "http://cygwin.com/$env:CYG_SETUP" -FileName "cygsetup.exe" -Timeout 30000 } + - ps: if ((Get-Content "cygsetup.exe") -eq $Null) { Copy-Item "$env:CYG_SETUP" -Destination "cygsetup.exe" -Force } else { Copy-Item "cygsetup.exe" -Destination "$env:CYG_SETUP" -Force } + # Quiet-mode isn't really working but this does work. + - if defined CYG_ROOT ((%CYG_SETUP% --quiet-mode --no-shortcuts --only-site --root "%CYG_ROOT%" --site "%CYG_MIRROR%" --local-package-dir "%CYG_CACHE%" --packages "%CYG_PACKAGES%" --upgrade-also) > $null) +build_script: + - if defined BASH (%BASH% -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && dos2unix build.sh && sh build.sh") + - xcopy %APPVEYOR_BUILD_FOLDER%\Enhancement %APPVEYOR_BUILD_FOLDER%\AppVeyor /E /I /Q + - xcopy %APPVEYOR_BUILD_FOLDER%\Enthusiast %APPVEYOR_BUILD_FOLDER%\AppVeyor /E /I /Q + - xcopy %APPVEYOR_BUILD_FOLDER%\Modifications %APPVEYOR_BUILD_FOLDER%\AppVeyor /E /I /Q + - xcopy %APPVEYOR_BUILD_FOLDER%\Performance %APPVEYOR_BUILD_FOLDER%\AppVeyor /E /I /Q + - xcopy %APPVEYOR_BUILD_FOLDER%\Quality %APPVEYOR_BUILD_FOLDER%\AppVeyor /E /I /Q + - xcopy %APPVEYOR_BUILD_FOLDER%\Workaround %APPVEYOR_BUILD_FOLDER%\AppVeyor /E /I /Q +# waits for RDP confirmation before finishing +#on_finish: +# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) + +artifacts: + - path: AppVeyor + name: 'graphicPacks_2-$(appveyor_build_version)' + type: zip + +deploy: + tag: "appveyor$(appveyor_build_version)" + # Tag needs to be the same otherwise it won't overwrite. + release: "Graphic Packs: version 2-$(appveyor_build_version)" + description: "Updated to **v2-$(appveyor_build_version)** at $(CommitTimestamp) (UTC)\n\n### Changelog:\n**$(appveyor_repo_commit_message)** - Commit $(appveyor_repo_commit) by $(appveyor_repo_commit_author):\n```\n$(appveyor_repo_commit_message_extended)\n```\n#### [Installation instructions](https://$(appveyor_account_name).github.io/$(appveyor_project_name)/) - [Previous versions](https://ci.appveyor.com/project/$(appveyor_account_name)/cemu-graphic-packs/history)" + provider: GitHub + # Auth token is generated by using https://www.appveyor.com/docs/deployment/github/#provider-settings + auth_token: $(GithubAuthToken) + prerelease: false + # Makes it so that it overwrites the previous files. + force_update: true + artifact: /.*\.zip/ + on: + branch: master