You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.7KB

  1. # Based on the "trust" template v0.1.1
  2. # https://github.com/japaric/trust/tree/v0.1.1
  3. environment:
  4. global:
  5. # TODO This is the Rust channel that build jobs will use by default but can be
  6. # overridden on a case by case basis down below
  7. RUST_VERSION: stable
  8. # TODO Update this to match the name of your project.
  9. CRATE_NAME: gutenberg
  10. # TODO These are all the build jobs. Adjust as necessary. Comment out what you
  11. # don't need
  12. matrix:
  13. # MinGW
  14. - TARGET: i686-pc-windows-gnu
  15. - TARGET: x86_64-pc-windows-gnu
  16. # MSVC
  17. - TARGET: i686-pc-windows-msvc
  18. - TARGET: x86_64-pc-windows-msvc
  19. install:
  20. - ps: >-
  21. If ($Env:TARGET -eq 'x86_64-pc-windows-gnu') {
  22. $Env:PATH += ';C:\msys64\mingw64\bin;C:\Program Files\Git\mingw64\bin'
  23. } ElseIf ($Env:TARGET -eq 'i686-pc-windows-gnu') {
  24. $Env:PATH += ';C:\msys64\mingw32\bin;C:\Program Files\Git\mingw64\bin'
  25. }
  26. - curl -sSf -o rustup-init.exe https://win.rustup.rs/
  27. - rustup-init.exe -y --default-host %TARGET% --default-toolchain %RUST_VERSION%
  28. - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
  29. - rustc -Vv
  30. - cargo -V
  31. # TODO This is the "test phase", tweak it as you see fit
  32. test_script:
  33. # we don't run the "test phase" when doing deploys
  34. - if [%APPVEYOR_REPO_TAG%]==[false] (
  35. cargo build --target %TARGET% &&
  36. cargo build --target %TARGET% --release &&
  37. cargo test --target %TARGET% &&
  38. cargo test --target %TARGET% --release &&
  39. cargo run --target %TARGET% &&
  40. cargo run --target %TARGET% --release
  41. )
  42. before_deploy:
  43. # TODO Update this to build the artifacts that matter to you
  44. - cargo rustc --target %TARGET% --release --bin gutenberg -- -C lto
  45. - ps: ci\before_deploy.ps1
  46. deploy:
  47. artifact: /.*\.zip/
  48. # TODO update `auth_token.secure`
  49. # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new
  50. # - Encrypt it. Go to https://ci.appveyor.com/tools/encrypt
  51. # - Paste the output down here
  52. auth_token:
  53. secure: YCRPSTItx+m/3jnDfai52dEZNLYUTSEExF2lZoffULDzlv/t2jOR1fzSSIEi/xyB
  54. description: ''
  55. on:
  56. # TODO Here you can pick which targets will generate binary releases
  57. # In this example, there are some targets that are tested using the stable
  58. # and nightly channels. This condition makes sure there is only one release
  59. # for such targets and that's generated using the stable channel
  60. RUST_VERSION: stable
  61. appveyor_repo_tag: true
  62. provider: GitHub
  63. cache:
  64. - C:\Users\appveyor\.cargo\registry
  65. - target
  66. branches:
  67. only:
  68. # Release tags
  69. - /^v\d+\.\d+\.\d+.*$/
  70. - master
  71. notifications:
  72. - provider: Email
  73. on_build_success: false
  74. # disable automatic builds
  75. build: false