# Travis-CI Build for OpenRA # see travis-ci.org for details language: csharp mono: 6.4.0 os: linux dist: xenial jobs: include: - os: linux dist: xenial - os: osx if: tag IS present osx_image: xcode10 addons: apt: packages: - lua5.1 - dpkg - zsync - imagemagick # Environment variables env: secure: "C0+Hlfa0YGErxUuWV00Tj6p45otC/D3YwYFuLpi2mj1rDFn/4dgh5WRngjvdDBVbXJ3duaZ78jPHWm1jr7vn2jqj9yETsCIK9psWd38ep/FEBM0SDr6MUD89OuXk/YyvxJAE+UXF6bXg7giey09g/CwBigjMW7ynET3wNAWPHPs=" # Fetch dependencies # Run the build script # Check source code with StyleCop # call OpenRA to check for YAML errors # Run the NUnit tests script: - make all - | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make check || travis_terminate 1; make check-scripts || travis_terminate 1; make test || travis_terminate 1; mono ~/.nuget/packages/nunit.consolerunner/3.11.1/tools/nunit3-console.exe --noresult OpenRA.Test.dll || travis_terminate 1; fi # Only watch the development branch and tagged release. branches: only: - /^release-.*$/ - /^playtest-.*$/ - /^devtest-.*$/ - /^prep-.*$/ - bleed # Notify developers when build passed/failed. notifications: irc: if: repo = OpenRA/OpenRA template: - "%{repository}#%{build_number} %{commit} %{author}: %{message} %{build_url}" channels: - "irc.freenode.net#openra" use_notice: true skip_join: true before_deploy: - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then wget https://mirrors.edge.kernel.org/ubuntu/pool/universe/n/nsis/nsis-common_3.04-1_all.deb; wget https://mirrors.edge.kernel.org/ubuntu/pool/universe/n/nsis/nsis_3.04-1_amd64.deb; sudo dpkg -i nsis-common_3.04-1_all.deb; sudo dpkg -i nsis_3.04-1_amd64.deb; echo ${TRAVIS_REPO_SLUG}; if [[ "${TRAVIS_REPO_SLUG}" == "OpenRA/OpenRA" ]]; then cd packaging && ./update-wiki.sh ${TRAVIS_TAG} && ./update-docs.sh ${TRAVIS_TAG} && cd ..; fi; fi - export PATH=${PATH}:${HOME}/usr/bin - DOTVERSION=`echo ${TRAVIS_TAG} | sed "s/-/\\./g"` - cd packaging - mkdir build - ./package-all.sh ${TRAVIS_TAG} ${PWD}/build/ - if [[ "${TRAVIS_REPO_SLUG}" == "OpenRA/OpenRA" ]]; then ./upload-itch.sh ${TRAVIS_TAG} ${PWD}/build/; fi deploy: provider: releases token: ${GH_DEPLOY_API_KEY} file_glob: true file: build/* skip_cleanup: true on: all_branches: true tags: true