Skip to content
This repository was archived by the owner on Oct 17, 2022. It is now read-only.

Commit 21626f6

Browse files
Ganesh Maharaj MahalingamGanesh Maharaj Mahalingam
Ganesh Maharaj Mahalingam
authored and
Ganesh Maharaj Mahalingam
committed
Change workload file management
The previous method of searching for workload files in the source-tree is broken with new go versions as GOPATH is getting deprecated. Migrating to embed to hold all workload yamls in the binary and feed from there. Signed-off-by: Ganesh Maharaj Mahalingam <[email protected]>
1 parent 8b9e3a3 commit 21626f6

34 files changed

+14791
-59
lines changed

ccvm/workload.go

+15-13
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ import (
2020
"bufio"
2121
"bytes"
2222
"context"
23+
"embed"
2324
"fmt"
24-
"go/build"
2525
"io"
26+
"io/fs"
2627
"io/ioutil"
2728
"net/http"
2829
"net/url"
@@ -41,6 +42,10 @@ import (
4142

4243
const ccloudvmPkg = "github.com/intel/ccloudvm"
4344

45+
//go:embed "workloads/*"
46+
var wkldfs embed.FS
47+
var allwklds, _ = fs.ReadDir(wkldfs, "workloads")
48+
4449
var indentedRegexp *regexp.Regexp
4550

4651
func init() {
@@ -179,19 +184,16 @@ func loadWorkloadData(ctx context.Context, ws *workspace, workloadName string, t
179184
return wkld, nil
180185
}
181186

182-
bld := build.Default
183-
bld.GOPATH = ws.GoPath
184-
p, err := bld.Import(ccloudvmPkg, "", build.FindOnly)
185-
if err != nil {
186-
return nil, errors.Wrap(err, "Unable to locate ccloudvm workload directory")
187-
}
188-
workloadPath := filepath.Join(p.Dir, "workloads", fmt.Sprintf("%s.yaml", workloadName))
189-
wkld, err = ioutil.ReadFile(workloadPath)
190-
if err != nil {
191-
return nil, fmt.Errorf("Unable to load workload %s", workloadPath)
187+
for _, wkldfile := range allwklds {
188+
if wkldfile.Name() == fmt.Sprintf("%s.yaml", workloadName) {
189+
wkld, err := wkldfs.ReadFile(fmt.Sprintf("workloads/%s.yaml", workloadName))
190+
if err != nil {
191+
return nil, errors.Wrap(err, "unable to read workload file")
192+
}
193+
return wkld, nil
194+
}
192195
}
193-
194-
return wkld, nil
196+
return nil, errors.New("Unable to find the workload anywhere")
195197
}
196198

197199
func unmarshalWorkload(ws *workspace, wkld *workload, spec,
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ require (
77
github.com/coreos/go-systemd v0.0.0-20170731111925-d21964639418
88
github.com/inconshreveable/mousetrap v1.0.0 // indirect
99
github.com/intel/govmm v0.0.0-20180104200030-22c99930c2f6
10+
github.com/mattn/goveralls v0.0.8 // indirect
1011
github.com/pkg/errors v0.8.0
1112
github.com/pmezard/go-difflib v1.0.0
1213
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d
1314
github.com/spf13/pflag v1.0.0 // indirect
14-
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9
15+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
1516
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984 // indirect
1617
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
1718
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3

go.sum

+21
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn
1111
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
1212
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
1313
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
14+
github.com/mattn/goveralls v0.0.8 h1:4xflElRkVgj/FcBVKTAkqSWhHFY2u2uv4c054kG2RY8=
15+
github.com/mattn/goveralls v0.0.8/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw=
1416
github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
1517
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
1618
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -19,10 +21,29 @@ github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d h1:OsIJZZhPMbL7lkWvq
1921
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
2022
github.com/spf13/pflag v1.0.0 h1:oaPbdDe/x0UncahuwiPxW1GYJyilRAdsPnq3e1yaPcI=
2123
github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
24+
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
25+
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
26+
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
27+
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
2228
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9 h1:+Va2hqur1pIoaZgDZSzTxfatSy6IY0IOu7qmCh8b2W8=
2329
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
30+
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
31+
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
32+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
33+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
34+
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
35+
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
36+
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
37+
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
38+
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
2439
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984 h1:4S3Dic2vY09agWhKAjYa6buMB7HsLkVrliEHZclmmSU=
2540
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
41+
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
42+
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375 h1:SjQ2+AKWgZLc1xej6WSzL+Dfs5Uyd5xcZH1mGC411IA=
43+
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
44+
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
45+
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
46+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
2647
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
2748
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
2849
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3 h1:AvhLfuYC9WaQFd0VTddg+tvjEcSy6/zAxUda5J/U68o=

semaphore.sh

+17
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ function finish {
2525
echo "= FAILURE ="
2626
fi
2727
echo "=============================="
28+
29+
rm -rf ${TEMPDIR}
30+
}
31+
32+
function get_latest_go {
33+
GO_URL=$(curl -s https://golang.org/dl/#stable | grep 'linux-amd64' | grep downloadBox | awk -F '"' '{print $4}')
34+
TEMPDIR=$(mktemp -d)
35+
curl -L https://golang.org/${GO_URL} --output -| tar -C ${TEMPDIR} -xzf -
36+
export GOROOT=${TEMPDIR}/go
37+
export PATH=${TEMPDIR}/go/bin:$PATH
2838
}
2939
3040
trap finish EXIT
@@ -33,6 +43,11 @@ created=0
3343
3444
if [[ ! -z "${SEMAPHORE_REPO_SLUG}" ]]
3545
then
46+
echo ""
47+
echo "===== Download stable go ====="
48+
echo ""
49+
get_latest_go
50+
3651
echo ""
3752
echo "===== Cloning repo ====="
3853
echo ""
@@ -205,6 +220,8 @@ fi
205220
206221
if [ "$SEMAPHORE_REPO_SLUG" = "intel/ccloudvm" ]
207222
then
223+
which go
224+
echo ${GOROOT}
208225
go get github.com/mattn/goveralls
209226
$GOPATH/bin/goveralls --race -v -service=semaphore --package github.com/intel/ccloudvm/ccvm
210227
else

0 commit comments

Comments
 (0)