paketo-buildpacks / samples Goto Github PK
View Code? Open in Web Editor NEWA collection of samples
License: Apache License 2.0
A collection of samples
License: Apache License 2.0
gcr.io
wouldn't let me download the image needed
git clone https://github.com/paketo-buildpacks/samples
cd samples/dotnet-core/aspnet
pack build my-app --buildpack gcr.io/paketo-buildpacks/dotnet-core \
--builder paketobuildpacks/builder:base
auth for ref gcr.io/paketo-buildpacks/dotnet-core
failedgit clone https://github.com/paketo-buildpacks/samples
cd samples/dotnet-core/aspnet
pack build my-app --buildpack gcr.io/paketo-buildpacks/dotnet-core \
--builder paketobuildpacks/builder:base
Cloning into 'samples'...
remote: Enumerating objects: 1783, done.
remote: Counting objects: 100% (483/483), done.
remote: Compressing objects: 100% (242/242), done.
remote: Total 1783 (delta 345), reused 332 (delta 231), pack-reused 1300
Receiving objects: 100% (1783/1783), 22.78 MiB | 512.00 KiB/s, done.
Resolving deltas: 100% (971/971), done.
base: Pulling from paketobuildpacks/builder
Digest: sha256:8f82384b8c6ec0415c5b62df6fbc4f28e52154a6f084af851fa3a8b0fd726fba
Status: Image is up to date for paketobuildpacks/builder:base
base-cnb: Pulling from paketobuildpacks/run
Digest: sha256:3bdefd40188e93e4aba93978440816f9b86d03a1a7b58e6c6c854bcb88df8ace
Status: Image is up to date for paketobuildpacks/run:base-cnb
ERROR: failed to build: creating from buildpackage gcr.io/paketo-buildpacks/dotnet-core: fetching image: resolve auth for ref gcr.io/paketo-buildpacks/dotnet-core: error getting credentials - err: exec: "docker-credential-gcloud": executable file not found in $PATH, out: ``
pack
, kpack
, tekton
buildpacks plugin, etc.) are youpack --version => 0.20.0+git-66a4f32.build-2668
pack inspect-builder <builder>
?
buildpack.yml
,nginx.conf
, etc.)?
I really hope I didn't miss some step in the docs, but please let me know if I did.
Test php workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
With the PHP rewrite coming to a close, we should take stock of the sample apps we have for the PHP language family, and update/add anything to give clear examples of apps that can be run with the three order groups available from the rewrite.
This issue is blocked from completion on the completion and release of paketo-buildpacks/php#524
Once support for building Yarn Berry applications has been added to the Node.js buildpack (RFC 0014), the Yarn samples should be updated to include examples of those use cases.
Use the nodejs buildpack to build and then serve some static assets. My Dockerfile uses
RUN npm run build:app:docker
to build the static assets.
I expected to find an example of how to do this with buildpacks because it's a common pattern for React frontend apps.
There isn't an example!
Test nginx workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
This shows --publish 8080:8080
, but from what I can tell the code doesn't listen on HTTP at all, and this is after deploying to Knative where it times out after 2 minutes of TCP connect errors on 8080 ๐
I also reached out to some folks that know akka better than my "no at all", and they seemed to think the same (doesn't bind to http server).
I think this sample should either remove the --publish
or (better IMO) demonstrate the same HTTP capabilities in akka.
Once paketo-buildpacks/nginx#367 merges and is released, we should include a sample/samples here that demonstrate how to use the nginx.conf
generation feature of the NGINX buildpack.
Test php workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
After PR was submitted, smoke tests were not run as a github action
What were you attempting to do?
What did you expect to happen?
What was the actual behavior? Please provide log output, if possible.
What platform (pack
, kpack
, tekton
buildpacks plugin, etc.) are you
using? Please include a version.
What buildpacks are you using? Please include versions.
What builder are you using? If custom, can you provide the output from pack inspect-builder <builder>
?
Can you provide a sample app or relevant configuration (buildpack.yml
,
nginx.conf
, etc.)?
Add Jammy+Python to integration tests
Maybe blocked on:
Test web-servers workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
Test web-servers workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
It would be useful to see a sample app that demos php-composer
Test nginx workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
It would be great if we could have some sample Java apps for various configurations so that we have sample apps for all supported Paketo language families.
What were you attempting to do?
Perform the "Getting Started" steps
What did you expect to happen?
No errors, sample app built
What was the actual behavior? Please provide log output, if possible.
Paketo CA Certificates Buildpack 2.2.0
https://github.com/paketo-buildpacks/ca-certificates
Launch Helper: Contributing to layer
Creating /layers/paketo-buildpacks_ca-certificates/helper/exec.d/ca-certificates-helper
Paketo Node Engine Buildpack 0.4.0
Resolving Node Engine version
Candidate version sources (in priority order):
package.json -> "~10"
<unknown> -> ""
failed to satisfy "node" dependency version constraint "~10": no compatible versions. Supported versions are: [12.22.0, 12.22.1, 14.16.1, 14.17.0, 15.13.0, 15.14.0, 16.1.0, 16.2.0]
ERROR: failed to build: exit status 1
ERROR: failed to build: executing lifecycle: failed with status code: 145
What platform (pack
, kpack
, tekton
buildpacks plugin, etc.) are you
using? Please include a version.
What buildpacks are you using? Please include versions.
Fresh install of pack using brew install buildpacks/tap/pack
โ ~ pack --version
0.19.0+git-360dbae.build-2550
pack inspect-builder <builder>
?buildpack.yml
,nginx.conf
, etc.)?Performed steps noted here:
https://paketo.io/docs/
Test ruby workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
The "main" field in the package.json
file is used to indicate an entrypoint for a node module. This only applies to library code and is not meant to indicate the entrypoint of an application. Furthermore, the Node.js language family does not have any mechanism to choose a start command using the "main" field if it did indicate the application's entrypoint.
The current Node.js sample applications include this key:
samples/nodejs/npm/package.json
Line 8 in 7d3ea57
samples/nodejs/yarn/package.json
Line 8 in 7d3ea57
It is confusing to users that this "main" field appears in the package.json
, as it may lead some users to believe they can control the start command by changing this value.
These values should be removed from all Node.js sample applications so that this possible confusion is avoided.
There are several sample apps in this repo that still reference the buildpack.yml
format for configuration. We should update all of these apps to use environment variables either through the addition of a project.toml
or updating the pack build
commands in the README to explicitly set this environment variable.
We should figure out a way to indicate the builders that are compatible to run each sample app. This would help reduce confusion for new buildpacks users and make it more clear the clear that each language family is compatible with and in what circumstance it is compatible with a given builder .
Test web-servers workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
When I build and deploy the Procfile sample, I get the error:
$ kubectl logs procfile-bdcxb-1-deployment-79657fc75f-nf9vb user-container
FOLDER=web: FOLDER=web: command not found
I believe this likely comes from here:
Line 1 in d82d470
It sort of seems like the sample it treating the first argument as the binary executable instead of an environment variable to pass to the binary executable (as a shell might).
Currently, the pack version used by tests is determined by .github/pack-version
, and the version is very out of date. As a result, tests for the Go samples fail because apps are built without a default process type.
This repo should follow other repos' conventions of keeping a tools.json
in its scripts
directory and should have a cron job that keeps that tools.json
automatically up to date.
Test web-servers workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
This morning I saw a string of failures in the akka sample with:
[build] [error] sbt.librarymanagement.ResolveException: Error downloading com.typesafe.sbt:sbt-native-packager;sbtVersion=1.0;scalaVersion=2.12:1.7.5
[build] [error] Not found
[build] [error] Not found
[build] [error] not found: https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.7.5/sbt-native-packager-1.7.5.pom
[build] [error] not found: /home/cnb/.ivy2/local/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml
[build] [error] download error: Caught java.net.UnknownHostException: repo.scala-sbt.org (repo.scala-sbt.org) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml
[build] [error] not found: https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml
[build] [error] Error downloading io.spray:sbt-revolver;sbtVersion=1.0;scalaVersion=2.12:0.9.1
[build] [error] Not found
[build] [error] Not found
[build] [error] not found: https://repo1.maven.org/maven2/io/spray/sbt-revolver_2.12_1.0/0.9.1/sbt-revolver-0.9.1.pom
[build] [error] not found: /home/cnb/.ivy2/local/io.spray/sbt-revolver/scala_2.12/sbt_1.0/0.9.1/ivys/ivy.xml
[build] [error] download error: Caught java.net.UnknownHostException: repo.scala-sbt.org (repo.scala-sbt.org) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/io.spray/sbt-revolver/scala_2.12/sbt_1.0/0.9.1/ivys/ivy.xml
[build] [error] not found: https://repo.typesafe.com/typesafe/ivy-releases/io.spray/sbt-revolver/scala_2.12/sbt_1.0/0.9.1/ivys/ivy.xml
[build] [error] at lmcoursier.CoursierDependencyResolution.unresolvedWarningOrThrow(CoursierDependencyResolution.scala:249)
[build] [error] at lmcoursier.CoursierDependencyResolution.$anonfun$update$35(CoursierDependencyResolution.scala:218)
[build] [error] at scala.util.Either$LeftProjection.map(Either.scala:573)
[build] [error] at lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:218)
[build] [error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
[build] [error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:52)
[build] [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:102)
[build] [error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:69)
[build] [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$20(LibraryManagement.scala:115)
[build] [error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)
[build] [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:115)
[build] [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:96)
[build] [error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:150)
[build] [error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:129)
[build] [error] at sbt.Classpaths$.$anonfun$updateTask0$5(Defaults.scala:2950)
[build] [error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[build] [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[build] [error] at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[build] [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[build] [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[build] [error] at sbt.Execute.work(Execute.scala:290)
[build] [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[build] [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[build] [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[build] [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[build] [error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[build] [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[build] [error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[build] [error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[build] [error] at java.base/java.lang.Thread.run(Thread.java:834)
[build] [error] (update) sbt.librarymanagement.ResolveException: Error downloading com.typesafe.sbt:sbt-native-packager;sbtVersion=1.0;scalaVersion=2.12:1.7.5
[build] [error] Not found
[build] [error] Not found
[build] [error] not found: https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.7.5/sbt-native-packager-1.7.5.pom
[build] [error] not found: /home/cnb/.ivy2/local/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml
[build] [error] download error: Caught java.net.UnknownHostException: repo.scala-sbt.org (repo.scala-sbt.org) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml
[build] [error] not found: https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.5/ivys/ivy.xml
[build] [error] Error downloading io.spray:sbt-revolver;sbtVersion=1.0;scalaVersion=2.12:0.9.1
[build] [error] Not found
[build] [error] Not found
[build] [error] not found: https://repo1.maven.org/maven2/io/spray/sbt-revolver_2.12_1.0/0.9.1/sbt-revolver-0.9.1.pom
[build] [error] not found: /home/cnb/.ivy2/local/io.spray/sbt-revolver/scala_2.12/sbt_1.0/0.9.1/ivys/ivy.xml
[build] [error] download error: Caught java.net.UnknownHostException: repo.scala-sbt.org (repo.scala-sbt.org) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/io.spray/sbt-revolver/scala_2.12/sbt_1.0/0.9.1/ivys/ivy.xml
[build] [error] not found: https://repo.typesafe.com/typesafe/ivy-releases/io.spray/sbt-revolver/scala_2.12/sbt_1.0/0.9.1/ivys/ivy.xml
[build] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? rpc error: code = NotFound desc = an error occurred when try to find container "2285ed81062d424744b4219b849c1146ff5a1347be595f164d052f7b8e1f09a9": not found
You can see full logs here: https://github.com/mattmoor/mink/runs/1370168466?check_suite_focus=true#step:11:37897
Test java workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
Now that the Ruby Promotion RFC has been accepted, we should add in sample apps here for all supported configurations of the Ruby Buildpack.
Build using tekton
Produce a valid container image
An error message occured...
err: paketo-buildpacks/[email protected]
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
======== Error: paketo-buildpacks/[email protected] ========
chdir /workspace/source/java/go-mod: no such file or directory
pack
, kpack
, tekton
buildpacks plugin, etc.) are youtekton 0.3
go buildpack
pack inspect-builder <builder>
?base-builder
buildpack.yml
,nginx.conf
, etc.)?https://github.com/paketo-buildpacks/samples/tree/main/go/mod
BLOCKED ON MERGE paketo-buildpacks/httpd#306
Once the above PR is merged then the functionality outlined in Paketo Web Server RFC 0004 will be complete and there should be sample(s) to demonstrate this functionality.
HTTPD is a stand-alone buildpack in the Paketo Full builder. We should have a sample app to demonstrate the stand-alone use of the buildpack.
Test nginx workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
Test dotnet-core workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
I started from the public-static-main sample, removed the maven project file, and used instead:
plugins {
`java-library`
}
tasks.jar {
manifest {
attributes["Main-Class"] = "io.paketo.App"
}
}
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
$ pack build --builder paketobuildpacks/builder:tiny --env BP_NATIVE_IMAGE=true public-static-main:gradle
...
Downloading from https://download.bell-sw.com/vm/22.0.0.2/bellsoft-liberica-vm-core-openjdk11-22.0.0.2-linux-amd64.tar.gz
...
Downloading https://services.gradle.org/distributions/gradle-7.4.1-bin.zip
...
Daemon will be stopped at the end of the build
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes
> Task :jar
> Task :assemble
BUILD SUCCESSFUL in 36s
2 actionable tasks: 2 executed
...
Paketo Native Image Buildpack 5.2.0
https://github.com/paketo-buildpacks/native-image
Build Configuration:
$BP_BINARY_COMPRESSION_METHOD Compression mechanism used to reduce binary size. Options: `none` (default), `upx` or `gzexe`
$BP_NATIVE_IMAGE true enable native image build
$BP_NATIVE_IMAGE_BUILD_ARGUMENTS arguments to pass to the native-image command
$BP_NATIVE_IMAGE_BUILD_ARGUMENTS_FILE a file with arguments to pass to the native-image command
$BP_NATIVE_IMAGE_BUILT_ARTIFACT the built application artifact explicitly, required if building from a JAR
Native Image: Contributing to layer
GraalVM 22.0.0.2 Java 11 CE (Java Version 11.0.14.1+1-LTS)
Executing native-image -H:+StaticExecutableWithDynamicLibC -jar /workspace
Error: /workspace is a directory. (-jar requires a valid jarfile)
unable to invoke layer creator
unable to contribute native-image layer
error running build
exit status 1
ERROR: failed to build: exit status 1
ERROR: failed to build: executing lifecycle: failed with status code: 51
There's too much magic going on, and I have absolutely no idea whether I'm doing something wrong, or whether what I'm trying to do is unsupported.
Can you provide a working example for native-image + gradle?
Issue #47 is to implement tests for all of the sample apps against our builders. The test case for the ca-certificates
sample app is less straightforward than the other test cases.
After discussing with @ekcasey, this will involve the following:
We are punting this work from the initial testing issue, and into its own chunk of work. We would like to have this tested eventually.
Test web-servers workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
We should document that users should use the Full builder to build all of our PHP sample apps. Building with Base succeeds, but I see obscure errors for missing C libraries when I try to run the app.
What were you attempting to do?
I was trying to confirm that the set of samples provided in this repo can be built with the current builders.
What did you expect to happen?
I expected that there would be a set of tests that I could run to confirm this.
What was the actual behavior? Please provide log output, if possible.
There are no tests, and so I need to try to confirm this in an ad-hoc manner.
We've recently started publishing all Paketo Buildpac artifacts to Dockerhub in addition to GCR. We should update all existing documentation to reference the Dockerhub locations so that we can eventually move over to Dockerhub completely.
Could we add a sample in here that provides a reference of how to use the Procfile buildpack to set the app image start command?
Test web-servers workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
The re-architected .NET Core buildpack supports builds of the following configurations:
We currently just have sample apps for source-based ASP.NET and runtime apps; Could we look into adding some simple apps for all supported configurations?
Test java workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
Test nginx workflow failed. Please take a look to ensure samples are working. (cc @paketo-buildpacks/content-maintainers)
Now that Web Servers RFC 0005 has been accepted, this repo should contain samples using the Web Servers buildpack.
web-servers
top level directory should be created.httpd
samples should be moved into this directory.nginx
samples should be added to the directory. (Since httpd does not run on the base builder, a copy of thenginx
samples should also be kept in their own top level directory, so they can continue to be tested against the base builder.)Now that we have a Rails assets buildpack could we add a Rails sample app? It can probably use any webserver.
samples/nginx/nginx-sample/nginx.conf
Lines 9 to 10 in 1ef971f
Currently there is no sample that shows the node only workflow of the Node.js Buildpack. We should add an app that shows this workflow.
We recently added support for httpd to the base stack and we're getting ready to update the base builder. Once that's done, we should update the web-servers test to run with the base builder.
Currently there is no sample that shows the no modules workflow of the Go Buildpack. We should add an app that shows this workflow.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.