@@ -41,39 +41,47 @@ func releaseLatest(at archType) {
41
41
login ()
42
42
test (at )
43
43
44
- utils .Exec ("docker push" , at .tag ())
45
44
utils .Exec ("docker push" , at .tagDev ())
45
+ utils .Exec ("docker push" , at .tag ())
46
46
}
47
47
48
48
func releaseWithVer (ver string , at archType ) {
49
49
login ()
50
50
51
- utils .Exec ("docker manifest create" , registry , archAmd .tag (), archArm .tag ())
52
- utils .Exec ("docker manifest push" , registry )
53
-
54
- registryDev := registry + ":dev"
55
- utils .Exec ("docker manifest create" , registryDev , archAmd .tagDev (), archArm .tagDev ())
56
- utils .Exec ("docker manifest push" , registryDev )
57
-
58
- verImage := registry + ":" + ver
59
51
verImageDev := registry + ":" + ver + "-dev"
52
+ utils .Exec ("docker manifest create" , verImageDev , archAmd .tagDev (), archArm .tagDev ())
53
+ utils .Exec ("docker manifest push" , verImageDev )
60
54
55
+ verImage := registry + ":" + ver
61
56
utils .Exec ("docker manifest create" , verImage , archAmd .tag (), archArm .tag ())
62
57
utils .Exec ("docker manifest push" , verImage )
63
58
64
- utils .Exec ("docker manifest create" , verImageDev , archAmd .tagDev (), archArm .tagDev ())
65
- utils .Exec ("docker manifest push" , verImageDev )
59
+ registryDev := registry + ":dev"
60
+ utils .Exec ("docker manifest create" , registryDev , archAmd .tagDev (), archArm .tagDev ())
61
+ utils .Exec ("docker manifest push" , registryDev )
62
+
63
+ utils .Exec ("docker manifest create" , registry , archAmd .tag (), archArm .tag ())
64
+ utils .Exec ("docker manifest push" , registry )
66
65
}
67
66
68
67
func test (at archType ) {
69
68
utils .Exec ("docker build -f=lib/docker/Dockerfile" , "--platform" , at .platform (), "-t" , at .tag (), description (false ), "." )
70
- utils .Exec ("docker build -f=lib/docker/dev.Dockerfile" , "--platform" , at .platform (), "-t" , at .tagDev (), description (true ), "." )
69
+ utils .Exec ("docker build -f=lib/docker/dev.Dockerfile" ,
70
+ "--platform" , at .platform (),
71
+ "--build-arg" , "golang=" + at .golang (),
72
+ "--build-arg" , "nodejs=" + at .nodejs (),
73
+ "-t" , at .tagDev (),
74
+ description (true ), "." ,
75
+ )
71
76
72
77
utils .Exec ("docker run" , at .tag (), "rod-manager" , "-h" )
73
78
74
- wd , err := os .Getwd ()
75
- utils .E (err )
76
- utils .Exec ("docker run -w=/t -v" , fmt .Sprintf ("%s:/t" , wd ), at .tagDev (), "go" , "test" )
79
+ // TODO: arm cross execution for chromium doesn't work well on github actions.
80
+ if at != archArm {
81
+ wd , err := os .Getwd ()
82
+ utils .E (err )
83
+ utils .Exec ("docker run -w=/t -v" , fmt .Sprintf ("%s:/t" , wd ), at .tagDev (), "go" , "test" )
84
+ }
77
85
}
78
86
79
87
func login () {
@@ -83,15 +91,16 @@ func login() {
83
91
utils .E (os .Stdout .Write (out ))
84
92
}
85
93
94
+ var headSha = strings .TrimSpace (utils .ExecLine (false , "git" , "rev-parse" , "HEAD" ))
95
+
86
96
func description (dev bool ) string {
87
- sha := strings .TrimSpace (utils .ExecLine (false , "git" , "rev-parse" , "HEAD" ))
88
97
89
98
f := "Dockerfile"
90
99
if dev {
91
100
f = "dev." + f
92
101
}
93
102
94
- return `--label=org.opencontainers.image.description=https://github.com/go-rod/rod/blob/` + sha + "/lib/docker/" + f
103
+ return `--label=org.opencontainers.image.description=https://github.com/go-rod/rod/blob/` + headSha + "/lib/docker/" + f
95
104
}
96
105
97
106
const registry = "ghcr.io/go-rod/rod"
@@ -139,3 +148,21 @@ func (at archType) tagDev() string {
139
148
return registry + ":amd-dev"
140
149
}
141
150
}
151
+
152
+ func (at archType ) golang () string {
153
+ switch at {
154
+ case archArm :
155
+ return "https://go.dev/dl/go1.19.1.linux-arm64.tar.gz"
156
+ default :
157
+ return "https://go.dev/dl/go1.19.1.linux-amd64.tar.gz"
158
+ }
159
+ }
160
+
161
+ func (at archType ) nodejs () string {
162
+ switch at {
163
+ case archArm :
164
+ return "https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-arm64.tar.xz"
165
+ default :
166
+ return "https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz"
167
+ }
168
+ }
0 commit comments