Skip to content
New issue

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

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

Already on GitHub? # to your account

Update build tools including Go 1.16.2 #3833

Merged
merged 23 commits into from
Apr 6, 2021
Merged

Update build tools including Go 1.16.2 #3833

merged 23 commits into from
Apr 6, 2021

Conversation

bboreham
Copy link
Collaborator

@bboreham bboreham commented Feb 18, 2021

  • Stop creating a NodeJS build image, just use node:10.19 directly.
  • Update to Go 1.16.2.
  • Remove some unused tools.
  • Fix some build issues on MacOS.
  • Add 'osusergo' tag to remove some link-time warnings.
  • Remove 'demo.json' file, not used in Scope.
  • Miscelaneous other build improvements.

bboreham added 7 commits April 4, 2021 11:16
Remove complicated workaround in build.sh
The command and arguments for yarn runs was repeated many times.
'delegated' says the container side is in charge, and Docker doesn't have to work hard to keep the host in sync

'z' is needed for SELinux
This speeds up subsequent compilations
Otherwise it's blank on Apple M1 platform (at least) and builds fail

Now we have to git-ignore .yarnrc file, which is created in the HOME dir.
All it does is set some environment variables so just set those on the command-line
Scope itself doesn't have any Python code.

Disable Python test scheduler in CI
 - we set parallelism=1 so no point scheduling
@bboreham bboreham force-pushed the build-updates branch 2 times, most recently from ff923d1 to 37d5157 Compare April 4, 2021 11:10
bboreham added 14 commits April 4, 2021 13:45
Smaller that way, and more consistent

(Note we run it with GC enabled; it crashes in CI otherwise)
gvt replaced by Go modules; github-release not used in CI
It calls 'go', which may not be present outside the build container
We only want to force CGO_ENABLED when cross-compiling for arm;
it is on by default for native linux compilation and off by default
for darwin cross-compilation.
Avoids warnings like "Using 'getgrouplist' in statically linked
applications requires at runtime the shared libraries from the glibc
version used for linking"
2.1.3 is very old, and seems to be failing the build
@bboreham bboreham marked this pull request as ready for review April 4, 2021 18:59
@bboreham bboreham requested a review from fbarl as a code owner April 4, 2021 18:59
@bboreham bboreham requested review from qiell and satyamz as code owners April 4, 2021 18:59
@bboreham bboreham changed the title Build updates (WIP) Update build tools including Go 1.16.2 Apr 4, 2021
@dholbach
Copy link
Contributor

dholbach commented Apr 6, 2021

Great work - this looks much cleaner now! Some cursory local testing went well as well!

See docs at https://golang.org/ref/mod#go-mod-file-go

The expected benefit from making this change is that the vendor
directory will be used automatically, including tests.
@bboreham bboreham merged commit 02ba646 into master Apr 6, 2021
@bboreham bboreham deleted the build-updates branch April 6, 2021 13:37
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants