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

refactor(ci): provide powerful github piplines #483

Merged
merged 126 commits into from
Apr 30, 2022
Merged

refactor(ci): provide powerful github piplines #483

merged 126 commits into from
Apr 30, 2022

Conversation

Xunzhuo
Copy link
Member

@Xunzhuo Xunzhuo commented Apr 17, 2022

Signed-off-by: Xunzhuo [email protected]

refactor(ci): provide powerful github piplines and scripts

Layotto commands 👀: 

A fast and efficient cloud native application runtime 🚀.
Commands below are used in Development 💻 and GitHub workflow 🌊.

Usage: make <TARGETS> <OPTIONS> ...

Targets:
  build               Build layotto for host platform.
  build.multiarch     Build layotto for multiple platforms. See option PLATFORMS.
  image               Build docker images for host arch.
  image.multiarch     Build docker images for multiple platforms. See option PLATFORMS.
  push                Push docker images to registry.
  push.multiarch      Push docker images for multiple platforms to registry.
  app                 Build app docker images for host arch. [`/docker/app` contains apps dockerfiles]
  app.multiarch       Build app docker images for multiple platforms. See option PLATFORMS.
  wasm                Build layotto wasm for linux arm64 platform.
  wasm.multiarch      Build layotto wasm for multiple platform.
  wasm.image          Build layotto wasm image for multiple platform.
  wasm.image.push     Push layotto wasm image for multiple platform.
  check               Run all go checks of code sources.
  check.lint          Run go syntax and styling of go sources.
  check.unit          Run go unit test.
  check.style         Run go style test.
  style.coverage      Run coverage analysis.
  style.deadlink      Run deadlink check test.
  style.quickstart    Run quickstart check test.
  integrate.wasm      Run integration test with wasm.
  integrate.runtime   Run integration test with runtime.
  format              Format layotto go codes style with gofmt and goimports.
  clean               Remove all files that are created by building.
  all                 Run format codes, check codes, build Layotto codes for host platform with one command
  help                Show this help info.

Options:
  BINS         The binaries to build. Default is all of cmd.
               This option is available when using: make build/build.multiarch
               Example: make build BINS="layotto_multiple_api layotto"
  IMAGES       Backend images to make. Default is all of cmds.
               This option is available when using: make image/image.multiarch/push/push.multiarch
               Example: make image.multiarch IMAGES="layotto_multiple_api layotto"
  PLATFORMS    The multiple platforms to build. Default is linux_amd64 and linux_arm64.
               This option is available when using: make build.multiarch/image.multiarch/push.multiarch
               Example: make image.multiarch IMAGES="layotto" PLATFORMS="linux_amd64 linux_arm64"
               Supported Platforms: linux_amd64 linux_arm64 darwin_amd64 darwin_arm64

provide tree flow pipelines in layotto like below:

Release Pipeline Demo: https://github.com/Xunzhuo/layotto/actions/runs/2213418042

PR Pipeline Demo: https://github.com/Xunzhuo/layotto/actions/runs/2213411502

Dev Pipeline Demo: https://github.com/Xunzhuo/layotto/actions/runs/2213433930

image

we can control this by workflow conditions, it is better to not set it as a required job. (Job Name can be changed and some changes should not always need to run the required workflow, like changes in docs or github files)

@codecov
Copy link

codecov bot commented Apr 17, 2022

Codecov Report

Merging #483 (eec4110) into main (0506c93) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main     #483   +/-   ##
=======================================
  Coverage   60.60%   60.60%           
=======================================
  Files         120      120           
  Lines        6382     6382           
=======================================
  Hits         3868     3868           
  Misses       2144     2144           
  Partials      370      370           
Impacted Files Coverage Δ
components/configstores/apollo/change_listener.go 82.60% <ø> (ø)
components/configstores/apollo/configstore.go 76.16% <ø> (ø)
components/configstores/apollo/repository.go 11.42% <ø> (ø)
...omponents/configstores/apollo/subscriber_holder.go 100.00% <ø> (ø)
components/configstores/etcdv3/etcdv3.go 81.20% <ø> (ø)
components/custom/registry.go 84.00% <ø> (ø)
components/hello/helloworld/helloworld.go 100.00% <ø> (ø)
components/lock/consul/consul_lock.go 83.87% <ø> (ø)
components/lock/etcd/etcd_lock.go 80.00% <ø> (ø)
components/lock/in-memory/in_memory_lock.go 100.00% <ø> (ø)
... and 53 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0506c93...eec4110. Read the comment docs.

@Xunzhuo Xunzhuo changed the title chore: refactor ci specs chore: refactor ci spec Apr 17, 2022
@Xunzhuo Xunzhuo requested a review from seeflood April 18, 2022 02:18
@Xunzhuo Xunzhuo changed the title chore: refactor ci spec refactor ci specs and enhance layotto ci Apr 18, 2022
@Xunzhuo Xunzhuo changed the title refactor ci specs and enhance layotto ci refactor: ci specs and enhance layotto ci Apr 18, 2022
@Xunzhuo Xunzhuo changed the title refactor: ci specs and enhance layotto ci refactor: ci specs and enhance layotto Apr 18, 2022
@Xunzhuo Xunzhuo changed the title refactor: ci specs and enhance layotto refactor(ci): provide more powerful github piplines Apr 18, 2022
@Xunzhuo Xunzhuo changed the title refactor(ci): provide more powerful github piplines refactor(ci): provide powerful github piplines Apr 18, 2022
@Xunzhuo Xunzhuo changed the title refactor(ci): provide powerful github piplines [WIP]: refactor(ci): provide powerful github piplines Apr 18, 2022
docs/zh/development/release-guide.md Outdated Show resolved Hide resolved
@Xunzhuo Xunzhuo requested a review from seeflood April 29, 2022 10:38
Copy link
Member

@seeflood seeflood left a comment

Choose a reason for hiding this comment

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

lgtm

@seeflood
Copy link
Member

image
Some quickstart may fail due to the changes in Makefile. We can submit new PR to fix them after merging this

@seeflood seeflood merged commit 9a040f9 into mosn:main Apr 30, 2022
@seeflood
Copy link
Member

Thanks for this powerful new CI !

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.

3 participants