From 922617fa4c3da213ca9d6002eac999dd84d54902 Mon Sep 17 00:00:00 2001 From: Pudong Zheng Date: Tue, 5 Oct 2021 02:53:29 +0800 Subject: [PATCH] [local-app] add other arch support --- components/dashboard/conf/Caddyfile | 7 ++ components/dashboard/leeway.Dockerfile | 14 ++-- components/local-app/BUILD.yaml | 95 ++++++++++++++++++++-- components/local-app/leeway.Dockerfile | 15 +++- components/local-app/pkg/auth/auth_test.go | 4 +- 5 files changed, 119 insertions(+), 16 deletions(-) diff --git a/components/dashboard/conf/Caddyfile b/components/dashboard/conf/Caddyfile index 44a39b3a3f7ae2..58ab932d26a99f 100644 --- a/components/dashboard/conf/Caddyfile +++ b/components/dashboard/conf/Caddyfile @@ -12,6 +12,13 @@ path /static/* /favicon* /manifest.json } + rewrite /static/bin/gitpod-local-companion-linux /static/bin/gitpod-local-companion-linux-amd64 + rewrite /static/bin/gitpod-local-companion-darwin /static/bin/gitpod-local-companion-darwin-amd64 + rewrite /static/bin/gitpod-local-companion-windows.exe /static/bin/gitpod-local-companion-windows-amd64.exe + rewrite /static/bin/gitpod-local-companion-linux.gz /static/bin/gitpod-local-companion-linux-amd64.gz + rewrite /static/bin/gitpod-local-companion-darwin.gz /static/bin/gitpod-local-companion-darwin-amd64.gz + rewrite /static/bin/gitpod-local-companion-windows.exe.gz /static/bin/gitpod-local-companion-windows-amd64.exe.gz + @bin_asset { file path /static/bin/* diff --git a/components/dashboard/leeway.Dockerfile b/components/dashboard/leeway.Dockerfile index 357d44f5b68d0b..dcf2c2bae41eca 100644 --- a/components/dashboard/leeway.Dockerfile +++ b/components/dashboard/leeway.Dockerfile @@ -16,14 +16,18 @@ RUN find . -type f \( -name '*.html' -o -name '*.js' -o -name '*.css' -o -name ' RUN find . -type f \( -name '*.html' -o -name '*.js' -o -name '*.css' -o -name '*.png' -o -name '*.svg' -o -name '*.map' -o -name '*.json' \) \ -exec /bin/sh -c 'brotli -v -q 11 -o "$1.br" "$1"' /bin/sh {} \; -COPY components-local-app--app/components-local-app--app-linux/local-app /www/static/bin/gitpod-local-companion-linux -COPY components-local-app--app/components-local-app--app-darwin/local-app /www/static/bin/gitpod-local-companion-darwin -COPY components-local-app--app/components-local-app--app-windows/local-app.exe /www/static/bin/gitpod-local-companion-windows.exe +COPY components-local-app--app/components-local-app--app-linux-amd64/local-app /www/static/bin/gitpod-local-companion-linux-amd64 +COPY components-local-app--app/components-local-app--app-darwin-amd64/local-app /www/static/bin/gitpod-local-companion-darwin-amd64 +COPY components-local-app--app/components-local-app--app-windows-amd64/local-app.exe /www/static/bin/gitpod-local-companion-windows-amd64.exe +COPY components-local-app--app/components-local-app--app-linux-arm64/local-app /www/static/bin/gitpod-local-companion-linux-arm64 +COPY components-local-app--app/components-local-app--app-darwin-arm64/local-app /www/static/bin/gitpod-local-companion-darwin-arm64 +COPY components-local-app--app/components-local-app--app-windows-386/local-app.exe /www/static/bin/gitpod-local-companion-windows-arm64.exe +COPY components-local-app--app/components-local-app--app-windows-386/local-app.exe /www/static/bin/gitpod-local-companion-windows-386.exe COPY components-gitpod-protocol--gitpod-schema/gitpod-schema.json /www/static/schemas/gitpod-schema.json -RUN for PLATFORM in linux darwin windows.exe;do \ - gzip -v -f -9 -k "/www/static/bin/gitpod-local-companion-$PLATFORM"; \ +RUN for FILE in `ls /www/static/bin/gitpod-local-companion*`;do \ + gzip -v -f -9 -k "$FILE"; \ done FROM caddy/caddy:2.4.0-alpine diff --git a/components/local-app/BUILD.yaml b/components/local-app/BUILD.yaml index 8b7bf5aadcd29c..7c4b43c08187cb 100644 --- a/components/local-app/BUILD.yaml +++ b/components/local-app/BUILD.yaml @@ -4,10 +4,14 @@ packages: config: commands: [["echo"]] deps: - - :app-linux - - :app-darwin - - :app-windows - - name: app-linux + - :app-linux-amd64 + - :app-linux-arm64 + - :app-darwin-amd64 + - :app-darwin-arm64 + - :app-windows-386 + - :app-windows-amd64 + - :app-windows-arm64 + - name: app-linux-amd64 type: go srcs: - go.mod @@ -21,11 +25,50 @@ packages: env: - CGO_ENABLED=0 - GOOS=linux + - GOARCH=amd64 prep: - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] config: packaging: app - - name: app-darwin + - name: app-linux-arm64 + type: go + srcs: + - go.mod + - go.sum + - "**/*.go" + deps: + - :version + - components/supervisor-api/go:lib + - components/gitpod-protocol/go:lib + - components/local-app-api/go:lib + env: + - CGO_ENABLED=0 + - GOOS=linux + - GOARCH=arm64 + prep: + - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] + config: + packaging: app + - name: app-darwin-amd64 + type: go + srcs: + - go.mod + - go.sum + - "**/*.go" + deps: + - :version + - components/supervisor-api/go:lib + - components/gitpod-protocol/go:lib + - components/local-app-api/go:lib + env: + - CGO_ENABLED=0 + - GOOS=darwin + - GOARCH=amd64 + prep: + - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] + config: + packaging: app + - name: app-darwin-arm64 type: go srcs: - go.mod @@ -39,11 +82,50 @@ packages: env: - CGO_ENABLED=0 - GOOS=darwin + - GOARCH=arm64 + prep: + - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] + config: + packaging: app + - name: app-windows-amd64 + type: go + srcs: + - go.mod + - go.sum + - "**/*.go" + deps: + - :version + - components/supervisor-api/go:lib + - components/gitpod-protocol/go:lib + - components/local-app-api/go:lib + env: + - CGO_ENABLED=0 + - GOOS=windows + - GOARCH=amd64 + prep: + - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] + config: + packaging: app + - name: app-windows-386 + type: go + srcs: + - go.mod + - go.sum + - "**/*.go" + deps: + - :version + - components/supervisor-api/go:lib + - components/gitpod-protocol/go:lib + - components/local-app-api/go:lib + env: + - CGO_ENABLED=0 + - GOOS=windows + - GOARCH=386 prep: - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] config: packaging: app - - name: app-windows + - name: app-windows-arm64 type: go srcs: - go.mod @@ -57,6 +139,7 @@ packages: env: - CGO_ENABLED=0 - GOOS=windows + - GOARCH=arm64 prep: - ["cp", "_deps/components-local-app--version/version.txt", "version.txt"] config: diff --git a/components/local-app/leeway.Dockerfile b/components/local-app/leeway.Dockerfile index abe5fe0e75609d..cb8581c49b6bf0 100644 --- a/components/local-app/leeway.Dockerfile +++ b/components/local-app/leeway.Dockerfile @@ -5,8 +5,17 @@ FROM alpine:3.14 WORKDIR /app -COPY components-local-app--app/components-local-app--app-linux/local-app local-app-linux -COPY components-local-app--app/components-local-app--app-darwin/local-app local-app-darwin -COPY components-local-app--app/components-local-app--app-windows/local-app.exe local-app-windows.exe +COPY components-local-app--app/components-local-app--app-linux-amd64/local-app local-app-linux +COPY components-local-app--app/components-local-app--app-darwin-amd64/local-app local-app-darwin +COPY components-local-app--app/components-local-app--app-windows-amd64/local-app.exe local-app-windows.exe + +COPY components-local-app--app/components-local-app--app-linux-amd64/local-app local-app-linux-amd64 +COPY components-local-app--app/components-local-app--app-darwin-amd64/local-app local-app-darwin-amd64 +COPY components-local-app--app/components-local-app--app-windows-amd64/local-app.exe local-app-windows-amd64.exe + +COPY components-local-app--app/components-local-app--app-linux-arm64/local-app local-app-linux-arm64 +COPY components-local-app--app/components-local-app--app-darwin-arm64/local-app local-app-darwin-arm64 +COPY components-local-app--app/components-local-app--app-windows-arm64/local-app.exe local-app-windows-arm64.exe +COPY components-local-app--app/components-local-app--app-windows-386/local-app.exe local-app-windows-386.exe CMD ["/bin/sh", "-c", "cp /app/* /out"] diff --git a/components/local-app/pkg/auth/auth_test.go b/components/local-app/pkg/auth/auth_test.go index d51de820f5366b..a8aff3e7060320 100644 --- a/components/local-app/pkg/auth/auth_test.go +++ b/components/local-app/pkg/auth/auth_test.go @@ -2,8 +2,8 @@ // Licensed under the GNU Affero General Public License (AGPL). // See License-AGPL.txt in the project root for license information. -//go:build linux -// +build linux +//go:build linux && amd64 +// +build linux,amd64 package auth