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

Windows build fix and makefile update #48

Merged
merged 12 commits into from
Sep 20, 2019
Merged

Conversation

austinabell
Copy link
Contributor

Cross compiles and sets up release binary generation, set up by @soc1c and I just changed it a bit to fix the CI for mac and windows and fixed a dependency to build on windows.

Also updates chainconfig from bootnodes update.

Note: chain config cannot be generated on windows as of now because of how the makefile is set up for that and I won't fix it yet since it's not relevant for who runs that command.

@austinabell austinabell added ISS: Duplicate This issue or pull request already exists PR: 1 Needs Review Type: Build and removed ISS: Duplicate This issue or pull request already exists labels Aug 22, 2019
steviezhang
steviezhang previously approved these changes Aug 22, 2019
Copy link
Contributor

@steviezhang steviezhang left a comment

Choose a reason for hiding this comment

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

Thank you for figuring out windows!

@austinabell
Copy link
Contributor Author

austinabell commented Aug 22, 2019

nvm the CI is still broken for windows and mac since it uses a linux machine to build and is failing on building non-linux cgo it seems

Edit: Yeah you can cross compile go using the flags but can't cross compile cgo, looking into a workaround now

@amerameen amerameen self-requested a review August 23, 2019 15:07
@austinabell austinabell changed the title Cross compile for windows and mac Windows build fix and makefile update Aug 28, 2019
@@ -82,6 +190,14 @@ workflows:
filters:
tags:
only: /.*/
# - build-darwin-go-1.12:
Copy link
Contributor

Choose a reason for hiding this comment

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

why is this disabled?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

because on this linux VM in the CI cannot cross compile the darwin build because of CGO in Ethash. There is potentially an inconsistent and tedious workaround to use a mac VM through CircleCI and configure go but I would argue against it because Ethash should be migrated over and the build for linux and darwin are basically identical and tested locally.

The windows and mac build will be able to be uncommented and functional once Ethash is migrated from c to go

Copy link

@amerameen amerameen 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! Thanks :)

@austinabell austinabell merged commit b06bd5c into development Sep 20, 2019
@austinabell austinabell deleted the austin/windowsbuild branch September 20, 2019 17:47
soc1c pushed a commit that referenced this pull request Oct 5, 2019
* Makefile: allow building windows binaries

* circleci/config: add windows build and release steps

* Makefile: allow building macos binaries

* circleci/config: add darwin build and release steps

* Fixed for windows

* Remove default env variable and update chainconfig

* Fix circliCI build

* Added back platform specific building assume will be needed for release binary gen

* Updated CI to use mac build

* Remove cross compiling from CI workflow, refactored makefile

* Changed binary compression to zip for windows
@soc1c soc1c mentioned this pull request Oct 5, 2019
4 tasks
soc1c added a commit that referenced this pull request Oct 21, 2019
* updated TestParseNode to work with go v1.12.8 (#42)

* Closes #46 update mainnet bootnodes list (#45)

* Windows build fix and makefile update (#48)

* Makefile: allow building windows binaries

* circleci/config: add windows build and release steps

* Makefile: allow building macos binaries

* circleci/config: add darwin build and release steps

* Fixed for windows

* Remove default env variable and update chainconfig

* Fix circliCI build

* Added back platform specific building assume will be needed for release binary gen

* Updated CI to use mac build

* Remove cross compiling from CI workflow, refactored makefile

* Changed binary compression to zip for windows

* ecrecover edge case chains fix (#58)

* Added edge case test and refactored logic

* Wip specific tests still failing

* Update invalid tests to use actual invalid chainid

@austinabell made this change
@soc1c soc1c added this to the 6.1 Agharta milestone Oct 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants