packages:
- name: docker
type: docker
deps:
- :app-with-manifest
argdeps:
- imageRepoBase
config:
buildArgs:
VERSION: ${version}
dockerfile: leeway.Dockerfile
image:
- ${imageRepoBase}/local-app:${version}
- ${imageRepoBase}/local-app:commit-${__git_commit}
- name: update-manifest
type: go
srcs:
- go.mod
- go.sum
- "**/*.go"
- version.txt
deps:
- components/supervisor-api/go:lib
- components/gitpod-protocol/go:lib
- components/local-app-api/go:lib
- components/public-api/go:lib
config:
packaging: app
dontTest: true
buildCommand: ["go", "build", "-o", "update-manifest", "./main/update-manifest/main.go"]
- name: app-with-manifest
type: generic
deps:
- :app
- :update-manifest
config:
commands:
- ["sh", "-c", "mkdir -p bin && mv components-local-app--app/bin/* bin/"]
- ["sh", "-c", "components-local-app--update-manifest/update-manifest --cwd bin | tee bin/manifest.json"]
- ["rm", "-rf", "components-local-app--update-manifest", "components-local-app--app"]
scripts:
- name: install-cli
description: "Install gitpod-cli as `gitpod` command and add auto-completion. Usage: '. $(leeway run components/local-app:install-cli)'"
script: |
go build -o gitpod ./main/gitpod-cli
sudo mv gitpod /usr/bin/gitpod
sudo chmod +x /usr/bin/gitpod
- name: cli-completion
description: "Add completion of gitpod-cli to bash-completion. Usage: '. $(leeway run components/local-app:cli-completion)'"
script: |
sudo /usr/bin/gitpod completion bash | sudo tee /usr/share/bash-completion/completions/gitpod > /dev/null