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

Commit

Permalink
Change workload file management
Browse files Browse the repository at this point in the history
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 <ganesh.mahalingam@intel.com>
  • Loading branch information
Ganesh Maharaj Mahalingam authored and Ganesh Maharaj Mahalingam committed Mar 26, 2021
1 parent 8b9e3a3 commit 21626f6
Show file tree
Hide file tree
Showing 34 changed files with 14,791 additions and 59 deletions.
28 changes: 15 additions & 13 deletions ccvm/workload.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ import (
"bufio"
"bytes"
"context"
"embed"
"fmt"
"go/build"
"io"
"io/fs"
"io/ioutil"
"net/http"
"net/url"
Expand All @@ -41,6 +42,10 @@ import (

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

//go:embed "workloads/*"
var wkldfs embed.FS
var allwklds, _ = fs.ReadDir(wkldfs, "workloads")

var indentedRegexp *regexp.Regexp

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

bld := build.Default
bld.GOPATH = ws.GoPath
p, err := bld.Import(ccloudvmPkg, "", build.FindOnly)
if err != nil {
return nil, errors.Wrap(err, "Unable to locate ccloudvm workload directory")
}
workloadPath := filepath.Join(p.Dir, "workloads", fmt.Sprintf("%s.yaml", workloadName))
wkld, err = ioutil.ReadFile(workloadPath)
if err != nil {
return nil, fmt.Errorf("Unable to load workload %s", workloadPath)
for _, wkldfile := range allwklds {
if wkldfile.Name() == fmt.Sprintf("%s.yaml", workloadName) {
wkld, err := wkldfs.ReadFile(fmt.Sprintf("workloads/%s.yaml", workloadName))
if err != nil {
return nil, errors.Wrap(err, "unable to read workload file")
}
return wkld, nil
}
}

return wkld, nil
return nil, errors.New("Unable to find the workload anywhere")
}

func unmarshalWorkload(ws *workspace, wkld *workload, spec,
Expand Down
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.
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@ require (
github.com/coreos/go-systemd v0.0.0-20170731111925-d21964639418
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/intel/govmm v0.0.0-20180104200030-22c99930c2f6
github.com/mattn/goveralls v0.0.8 // indirect
github.com/pkg/errors v0.8.0
github.com/pmezard/go-difflib v1.0.0
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d
github.com/spf13/pflag v1.0.0 // indirect
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3
Expand Down
21 changes: 21 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mattn/goveralls v0.0.8 h1:4xflElRkVgj/FcBVKTAkqSWhHFY2u2uv4c054kG2RY8=
github.com/mattn/goveralls v0.0.8/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw=
github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
Expand All @@ -19,10 +21,29 @@ github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d h1:OsIJZZhPMbL7lkWvq
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/pflag v1.0.0 h1:oaPbdDe/x0UncahuwiPxW1GYJyilRAdsPnq3e1yaPcI=
github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9 h1:+Va2hqur1pIoaZgDZSzTxfatSy6IY0IOu7qmCh8b2W8=
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984 h1:4S3Dic2vY09agWhKAjYa6buMB7HsLkVrliEHZclmmSU=
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375 h1:SjQ2+AKWgZLc1xej6WSzL+Dfs5Uyd5xcZH1mGC411IA=
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3 h1:AvhLfuYC9WaQFd0VTddg+tvjEcSy6/zAxUda5J/U68o=
Expand Down
17 changes: 17 additions & 0 deletions semaphore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ function finish {
echo "= FAILURE ="
fi
echo "=============================="

rm -rf ${TEMPDIR}
}

function get_latest_go {
GO_URL=$(curl -s https://golang.org/dl/#stable | grep 'linux-amd64' | grep downloadBox | awk -F '"' '{print $4}')
TEMPDIR=$(mktemp -d)
curl -L https://golang.org/${GO_URL} --output -| tar -C ${TEMPDIR} -xzf -
export GOROOT=${TEMPDIR}/go
export PATH=${TEMPDIR}/go/bin:$PATH
}
trap finish EXIT
Expand All @@ -33,6 +43,11 @@ created=0
if [[ ! -z "${SEMAPHORE_REPO_SLUG}" ]]
then
echo ""
echo "===== Download stable go ====="
echo ""
get_latest_go
echo ""
echo "===== Cloning repo ====="
echo ""
Expand Down Expand Up @@ -205,6 +220,8 @@ fi
if [ "$SEMAPHORE_REPO_SLUG" = "intel/ccloudvm" ]
then
which go
echo ${GOROOT}
go get github.com/mattn/goveralls
$GOPATH/bin/goveralls --race -v -service=semaphore --package github.com/intel/ccloudvm/ccvm
else
Expand Down
Loading

0 comments on commit 21626f6

Please sign in to comment.