Skip to content

Build macOS binaries with Travis #1101

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

Merged
merged 12 commits into from
Jul 15, 2019
Merged

Build macOS binaries with Travis #1101

merged 12 commits into from
Jul 15, 2019

Conversation

f-f
Copy link
Member

@f-f f-f commented Jul 13, 2019

Fix #737

This PR changes the Travis build (I'm replacing the current one which I don't understand with the one from spago which I mostly wrote) to compile macOS binaries and push them to GitHub releases alongside the Linux and Windows binaries.

Things left to do:

  • enable the Travis integration (I don't have access to it)
  • add an $API_KEY variable to authenticate to GitHub (though I can reuse the current $GITHUB_OAUTH_TOKEN if it's still there)
  • verify that packaging is all fine, and move the tar operations to the before_deploy section

@jneira
Copy link
Collaborator

jneira commented Jul 13, 2019

Travis has experimental windows support, so you can build in the three envs, what do you think?

@f-f
Copy link
Member Author

f-f commented Jul 13, 2019

@jneira the only purpose of this Travis build is to output macOS binaries, so I wouldn't want to enable anything else on the matrix (since we already build Windows on Appveyor and Linux on Hydra)

@jneira
Copy link
Collaborator

jneira commented Jul 13, 2019

Yeah, i was thinking in remove appveyor (but keep nix) to somewhat unify the ci, appveyor has one hour of build time limit
And maybe add a linux build to test it without nix

@f-f
Copy link
Member Author

f-f commented Jul 13, 2019

@jneira I see. I really don't like Travis, I'd say if we have to setup out new CI builds we could try Azure. Recently both stack and haskell-ide-engine switched to it

EDIT: oh I just realized you said basically the same thing in #1063 😄

@jneira
Copy link
Collaborator

jneira commented Jul 13, 2019

Yep, my idea is to use only one, travis already has cache support and azure has stable windows env and more concurrent jobs (i think).

Copy link
Collaborator

@joneshf joneshf left a comment

Choose a reason for hiding this comment

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

As someone that's done work in this file, lemme say that this looks great! I look forward to seeing this working again!

I left a few superficial comments. Feel free to ignore them or follow them, whatever you feel like.

f-f and others added 3 commits July 13, 2019 16:51
Co-Authored-By: Hardy Jones <[email protected]>
Co-Authored-By: Hardy Jones <[email protected]>
Co-Authored-By: Hardy Jones <[email protected]>
@Gabriella439
Copy link
Collaborator

@f-f: Alright, Travis is enabled with a GITHUB_OAUTH_TOKEN installed, but you'll need to trigger a new change to test it on this pull request

@Gabriella439
Copy link
Collaborator

@f-f: Hmmm. For some reason Travis doesn't seem to be registering the existence of your pull request. You might have to close and reopen your pull request

@f-f f-f closed this Jul 13, 2019
@f-f f-f reopened this Jul 13, 2019
@f-f f-f closed this Jul 13, 2019
@f-f f-f reopened this Jul 13, 2019
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.

When this is enabled, will be running this on pull requests or just the master branch and tags?

@f-f
Copy link
Member Author

f-f commented Jul 14, 2019

When this is enabled, will be running this on pull requests or just the master branch and tags?

It will build PRs, master and tags. There is the following rule in the config, that might be confusing in this regard:

# Build only master and release tags
branches:
  only:
  - master
  - /^\d+\.\d+\.\d+(\.\d+)?$/

This is to prevent other branches from being built, because they are covered by Travis' "PR builds", otherwise you'd get two builds from every PR with a branch in this repo (and if you disable "branch builds" in Travis then you don't get builds for releases at all)

@f-f f-f merged commit 0506c13 into master Jul 15, 2019
@mergify mergify bot deleted the f-f/travis-macos branch July 15, 2019 06:44
@paulyoung
Copy link

This is great! Can we expect a release soon that includes these binaries?

@f-f
Copy link
Member Author

f-f commented Jul 15, 2019

@paulyoung yep, once Dhall 9 is out (sometime in the coming days) there will be a matching release for the Haskell package too

@Gabriella439
Copy link
Collaborator

@f-f: Thank you for doing this! 🙂

@f-f
Copy link
Member Author

f-f commented Jul 15, 2019

You're welcome 🙂

@paulyoung
Copy link

@f-f it occurred to me that the binaries built by Travis might be available somewhere in the meantime. Is that the case?

@f-f
Copy link
Member Author

f-f commented Jul 19, 2019

@paulyoung the binaries are indeed build at every CI run, but they are not uploaded anywhere, so they get "lost" after the build is done (and there's no way to recover them as far as I know)

@paulyoung
Copy link

Now that Dhall 9 has been released, is there a timeframe for a new dhall-haskell release?

@Gabriella439
Copy link
Collaborator

@paulyoung: ~3 days. I'm going to begin the process of cutting the release tonight

@Gabriella439
Copy link
Collaborator

@paulyoung: The executables are available now from the releases page: https://github.com/dhall-lang/dhall-haskell/releases

@sjakobi sjakobi mentioned this pull request May 26, 2021
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.

"OSX release binaries" should be available
5 participants