Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use appveyor to build, test and deploy in windows #785

Merged
merged 30 commits into from
Jan 22, 2019

Conversation

jneira
Copy link
Collaborator

@jneira jneira commented Jan 18, 2019

Hi, to adress #627 i've tested a build script using appveyor ci. Overview:

  • Build the project using stack for stack.yaml (currently lts-13) and stack-lts-6.yaml
    • With lts-6 dhall-json cannot be built cause it uses ApplicativeDo so i have to skip it
  • Test the project for default stack.yaml
    • Not including dhall:doctests cause throws spurious errors due to encoding. I've not found a way to avoid them like in local (setting encoding of console to utf-8)
    • No tests for stack-lts-6.yaml cause stack is not able to build test dependencies for dhall (at least i've not found a way to make it work, although cabal is able to do it)
  • The build is trigger only for master, any branch containing appveyor or tags (and for pull requests)
  • It creates artifacts for each build (downloadable in appveyor web app)
  • It deploys them on tags for the build using the default stack.yaml, adding them to the release if it already exists.
  • Thanks to caching the build takes 7 minutes
  • The appveyor github app should be added to this repo to start the builds
    • I've requested its installation from the webapp
  • The github token used to deploy is the mine one, it should work in this repo too, i think

appveyor.yml Show resolved Hide resolved
Copy link
Collaborator

@Gabriella439 Gabriella439 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one question

appveyor.yml Outdated Show resolved Hide resolved
@Gabriella439
Copy link
Collaborator

Would it be possible to run the Appveyor build on all pull requests?

@jneira
Copy link
Collaborator Author

jneira commented Jan 19, 2019

Yeah, it builds by default pull requests!, but without cache. I think we could activate it, right?

@jneira
Copy link
Collaborator Author

jneira commented Jan 19, 2019

It can only be activate in the web ui for the project:

Use Save build cache in Pull Requests checkbox on the General tab of project settings if you need to save cache during PR builds. This setting is not exposed in YAML to prevent unauthorized cache modifications.

https://www.appveyor.com/docs/build-cache/

@Gabriella439
Copy link
Collaborator

@jneira: Could we verify that by having it build this pull request?

@jneira
Copy link
Collaborator Author

jneira commented Jan 20, 2019

@Gabriel439 yeah! we need to install the appveyor app in this repo to test it, but you can view it in this pr in my fork: jneira#3

@jneira
Copy link
Collaborator Author

jneira commented Jan 21, 2019

Have you received the request to install the appveyor github app? The builds will be triggered only for master, any branch containing appveyor and tags. To change that we should add more filters to the config file here
The builds without appveyor.yml uses the default web ui settings which by default does nothing and report a succesful build so install it before merging wouldn't do any harm.

@Gabriella439
Copy link
Collaborator

@jneira: I just approved the request. However, is there any reason we we would not want to build all pull requests?

The way that the Hydra CI works is that it builds the master branch and all pull requests

@jneira
Copy link
Collaborator Author

jneira commented Jan 21, 2019

@Gabriel439 I have not been precise: in fact it will build master, branch with appveyor, tags and all pull requests. Moreover, it will read the cache for pull request, only write cache from pull requests is optional.

@jneira
Copy link
Collaborator Author

jneira commented Jan 22, 2019

Appveyor is building this! Thanks for the setup, @Gabriel439

@Gabriella439 Gabriella439 merged commit a2a7985 into dhall-lang:master Jan 22, 2019
@Gabriella439
Copy link
Collaborator

You're welcome! This is good to merge now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants