Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0c00b92

Browse files
committed
chore: Reduce deployment times by excluding Docker images (#1945)
* chore: Reduce deployment times by excluding Docker imagesOnly the Windows and Linux binaries are build during deploy, so wecan save many minutes by excluding Docker images.* Stop docker image builds on snapshot* Fix artifact upload* Skip typecheck for release* Flag deploy
1 parentdf3201c commit0c00b92

File tree

5 files changed

+31
-25
lines changed

5 files changed

+31
-25
lines changed

‎.github/workflows/coder.yaml

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -355,21 +355,21 @@ jobs:
355355
path:${{ steps.go-cache-paths.outputs.go-mod }}
356356
key:${{ runner.os }}-release-go-mod-${{ hashFiles('**/go.sum') }}
357357

358-
-uses:goreleaser/goreleaser-action@v3
359-
with:
360-
install-only:true
361-
362358
-name:Cache Node
363359
id:cache-node
364360
uses:actions/cache@v3
365361
with:
366362
path:|
367363
**/node_modules
368364
.eslintcache
369-
key:js-${{ runner.os }}-test-${{ hashFiles('**/yarn.lock') }}
365+
key:js-${{ runner.os }}-release-node-${{ hashFiles('**/yarn.lock') }}
370366
restore-keys:|
371367
js-${{ runner.os }}-
372368
369+
-uses:goreleaser/goreleaser-action@v3
370+
with:
371+
install-only:true
372+
373373
-name:Build site
374374
run:make -B site/out/index.html
375375

@@ -379,18 +379,6 @@ jobs:
379379
version:latest
380380
args:release --snapshot --rm-dist --skip-sign
381381

382-
-uses:actions/upload-artifact@v3
383-
with:
384-
name:coder_windows_amd64.zip
385-
path:./dist/coder_*_windows_amd64.zip
386-
retention-days:7
387-
388-
-uses:actions/upload-artifact@v3
389-
with:
390-
name:coder_linux_amd64.tar.gz
391-
path:./dist/coder_*_linux_amd64.tar.gz
392-
retention-days:7
393-
394382
-name:Install Release
395383
run:|
396384
gcloud config set project coder-dogfood
@@ -402,6 +390,14 @@ jobs:
402390
-name:Start
403391
run:gcloud compute ssh coder -- sudo service coder restart
404392

393+
-uses:actions/upload-artifact@v3
394+
with:
395+
name:coder
396+
path:|
397+
./dist/coder_*_linux_amd64.tar.gz
398+
./dist/coder_*_windows_amd64.zip
399+
retention-days:7
400+
405401
test-js:
406402
name:"test/js"
407403
runs-on:ubuntu-latest

‎.goreleaser.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,9 @@ nfpms:
9494
-src:coder.service
9595
dst:/usr/lib/systemd/system/coder.service
9696

97+
# Image templates are empty on snapshots to avoid lengthy builds for development.
9798
dockers:
98-
-image_templates:["ghcr.io/coder/coder:{{ .Tag }}-amd64"]
99+
-image_templates:["{{ if not .IsSnapshot }}ghcr.io/coder/coder:{{ .Tag }}-amd64{{ end }}"]
99100
id:coder-linux
100101
dockerfile:Dockerfile
101102
use:buildx
@@ -108,7 +109,7 @@ dockers:
108109
---label=org.opencontainers.image.version={{ .Version }}
109110
---label=org.opencontainers.image.revision={{ .FullCommit }}
110111
---label=org.opencontainers.image.licenses=AGPL-3.0
111-
-image_templates:["ghcr.io/coder/coder:{{ .Tag }}-arm64"]
112+
-image_templates:["{{ if not .IsSnapshot }}ghcr.io/coder/coder:{{ .Tag }}-arm64{{ end }}"]
112113
goarch:arm64
113114
dockerfile:Dockerfile
114115
use:buildx
@@ -121,7 +122,7 @@ dockers:
121122
---label=org.opencontainers.image.version={{ .Tag }}
122123
---label=org.opencontainers.image.revision={{ .FullCommit }}
123124
---label=org.opencontainers.image.licenses=AGPL-3.0
124-
-image_templates:["ghcr.io/coder/coder:{{ .Tag }}-armv7"]
125+
-image_templates:["{{ if not .IsSnapshot }}ghcr.io/coder/coder:{{ .Tag }}-armv7{{ end }}"]
125126
goarch:arm
126127
goarm:"7"
127128
dockerfile:Dockerfile

‎site/webpack.common.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const dashboardHTMLPluginConfig = new HtmlWebpackPlugin({
3838
template:path.join(templatePath,"index.html"),
3939
})
4040

41-
exportconstcommonWebpackConfig:Configuration={
41+
exportconstcreateCommonWebpackConfig=(options?:{skipTypecheck:boolean}):Configuration=>({
4242
// entry defines each "page" or "chunk". In v1, we have two "pages":
4343
// dashboard and terminal. This is desired because the terminal has the xterm
4444
// vendor, and it is undesireable to load all of xterm on a dashboard
@@ -78,6 +78,7 @@ export const commonWebpackConfig: Configuration = {
7878
loader:"ts-loader",
7979
options:{
8080
configFile:"tsconfig.prod.json",
81+
transpileOnly:options?.skipTypecheck,
8182
},
8283
},
8384
],
@@ -106,4 +107,4 @@ export const commonWebpackConfig: Configuration = {
106107

107108
// plugins customize the build process
108109
plugins:[environmentPlugin,dashboardHTMLPluginConfig],
109-
}
110+
})

‎site/webpack.dev.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@
55
importReactRefreshWebpackPluginfrom"@pmmmwh/react-refresh-webpack-plugin"
66
import{Configuration}from"webpack"
77
import"webpack-dev-server"
8-
import{commonWebpackConfig}from"./webpack.common"
8+
import{createCommonWebpackConfig}from"./webpack.common"
9+
10+
constcommonWebpackConfig=createCommonWebpackConfig()
911

1012
constcommonPlugins=commonWebpackConfig.plugins||[]
1113

1214
constcommonRules=commonWebpackConfig.module?.rules||[]
1315

1416
constconfig:Configuration={
15-
...commonWebpackConfig,
17+
...createCommonWebpackConfig,
1618

1719
// devtool controls how source maps are generated. In development, we want
1820
// more details (less optimized) for more readability and an easier time

‎site/webpack.prod.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ import CopyWebpackPlugin from "copy-webpack-plugin"
66
importCSSMinimizerPluginfrom"css-minimizer-webpack-plugin"
77
importMiniCSSExtractPluginfrom"mini-css-extract-plugin"
88
import{Configuration}from"webpack"
9-
import{commonWebpackConfig}from"./webpack.common"
9+
import{createCommonWebpackConfig}from"./webpack.common"
10+
11+
constcommonWebpackConfig=createCommonWebpackConfig({
12+
// This decreases compilation time when publishing releases.
13+
// The "test/js" step will already catch any TypeScript compilation errors.
14+
skipTypecheck:true,
15+
})
1016

1117
constcommonPlugins=commonWebpackConfig.plugins||[]
1218

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp