Skip to content

Commit

Permalink
Move everything that needs GOPATH to a new GOPATH
Browse files Browse the repository at this point in the history
Also build and move grootfs and tardis binaries to
GOPATH/bin in the test script instead of building them in guardian GQTs

[#164336113]

Co-authored-by: Danail Branekov <danailster@gmail.com>
Co-authored-by: Tom Godkin <tgodkin@pivotal.io>
  • Loading branch information
3 people committed Mar 15, 2019
1 parent 61edd2e commit d294f97
Show file tree
Hide file tree
Showing 31 changed files with 89 additions and 62 deletions.
2 changes: 1 addition & 1 deletion .envrc
@@ -1,4 +1,4 @@
export GOPATH=$PWD
export GOPATH=$PWD/src/gopath
export PATH=$PWD/bin:$PATH

# Tests log level
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -30,3 +30,4 @@ blobs
.vagrant/
/pkg
/bin
src/gopath/bin
56 changes: 28 additions & 28 deletions .gitmodules
@@ -1,57 +1,57 @@
[submodule "src/code.cloudfoundry.org/guardian"]
path = src/code.cloudfoundry.org/guardian
[submodule "src/gopath/src/code.cloudfoundry.org/guardian"]
path = src/gopath/src/code.cloudfoundry.org/guardian
url = https://github.com/cloudfoundry/guardian
branch = master
[submodule "src/github.com/onsi/gomega"]
path = src/github.com/onsi/gomega
[submodule "src/gopath/src/github.com/onsi/gomega"]
path = src/gopath/src/github.com/onsi/gomega
url = https://github.com/onsi/gomega
branch = master
[submodule "src/github.com/tedsuo/rata"]
path = src/github.com/tedsuo/rata
[submodule "src/gopath/src/github.com/tedsuo/rata"]
path = src/gopath/src/github.com/tedsuo/rata
url = https://github.com/tedsuo/rata
branch = master
[submodule "src/code.cloudfoundry.org/garden"]
path = src/code.cloudfoundry.org/garden
[submodule "src/gopath/src/code.cloudfoundry.org/garden"]
path = src/gopath/src/code.cloudfoundry.org/garden
url = https://github.com/cloudfoundry/garden
branch = master
[submodule "src/github.com/onsi/ginkgo"]
path = src/github.com/onsi/ginkgo
[submodule "src/gopath/src/github.com/onsi/ginkgo"]
path = src/gopath/src/github.com/onsi/ginkgo
url = https://github.com/onsi/ginkgo
branch = master
[submodule "src/github.com/bmizerany/pat"]
path = src/github.com/bmizerany/pat
[submodule "src/gopath/src/github.com/bmizerany/pat"]
path = src/gopath/src/github.com/bmizerany/pat
url = https://github.com/bmizerany/pat
branch = master
[submodule "src/gopkg.in/yaml.v2"]
path = src/gopkg.in/yaml.v2
[submodule "src/gopath/src/gopkg.in/yaml.v2"]
path = src/gopath/src/gopkg.in/yaml.v2
url = https://gopkg.in/yaml.v2
branch = v2
[submodule "src/code.cloudfoundry.org/lager"]
path = src/code.cloudfoundry.org/lager
[submodule "src/gopath/src/code.cloudfoundry.org/lager"]
path = src/gopath/src/code.cloudfoundry.org/lager
url = https://github.com/cloudfoundry/lager
branch = master
[submodule "src/code.cloudfoundry.org/garden-integration-tests"]
path = src/code.cloudfoundry.org/garden-integration-tests
[submodule "src/gopath/src/code.cloudfoundry.org/garden-integration-tests"]
path = src/gopath/src/code.cloudfoundry.org/garden-integration-tests
url = https://github.com/cloudfoundry/garden-integration-tests
branch = master
[submodule "src/github.com/golang/protobuf"]
path = src/github.com/golang/protobuf
[submodule "src/gopath/src/github.com/golang/protobuf"]
path = src/gopath/src/github.com/golang/protobuf
url = https://github.com/golang/protobuf
branch = master
[submodule "src/code.cloudfoundry.org/grootfs"]
path = src/code.cloudfoundry.org/grootfs
[submodule "src/gopath/src/code.cloudfoundry.org/grootfs"]
path = src/gopath/src/code.cloudfoundry.org/grootfs
url = https://github.com/cloudfoundry/grootfs
branch = master
[submodule "src/github.com/containerd/containerd"]
path = src/github.com/containerd/containerd
[submodule "src/gopath/src/github.com/containerd/containerd"]
path = src/gopath/src/github.com/containerd/containerd
url = https://github.com/containerd/containerd
branch = master
[submodule "src/code.cloudfoundry.org/archiver"]
path = src/code.cloudfoundry.org/archiver
[submodule "src/gopath/src/code.cloudfoundry.org/archiver"]
path = src/gopath/src/code.cloudfoundry.org/archiver
url = https://github.com/cloudfoundry/archiver
branch = master
[submodule "src/github.com/opencontainers/runc"]
path = src/github.com/opencontainers/runc
[submodule "src/gopath/src/github.com/opencontainers/runc"]
path = src/gopath/src/github.com/opencontainers/runc
url = https://github.com/opencontainers/runc
branch = master
[submodule "src/idmapper"]
Expand Down
6 changes: 3 additions & 3 deletions ci/helpers/gats-utils
Expand Up @@ -2,7 +2,7 @@
build_nstar() {
local grreleasedevelopdir="$1"

pushd "$grreleasedevelopdir"/src/code.cloudfoundry.org/guardian/rundmc/nstar
pushd "$grreleasedevelopdir"/src/gopath/src/code.cloudfoundry.org/guardian/rundmc/nstar
make
mv nstar $GOPATH/bin/
popd
Expand All @@ -13,7 +13,7 @@ build_grootfs() {
local target="${GOPATH}/bin"

(
cd "$grreleasedevelopdir"/src/code.cloudfoundry.org/grootfs
cd "$grreleasedevelopdir"/src/gopath/src/code.cloudfoundry.org/grootfs

unset GOPATH

Expand All @@ -27,7 +27,7 @@ build_gdn() {
local target="${GOPATH}/bin"

(
cd "${grreleasedevelop}/src/code.cloudfoundry.org/guardian"
cd "${grreleasedevelop}/src/gopath/src/code.cloudfoundry.org/guardian"

unset GOPATH

Expand Down
10 changes: 7 additions & 3 deletions ci/scripts/containerd
Expand Up @@ -8,18 +8,22 @@ source "$grr_base/ci/helpers/device-control"

# shellcheck source=../../src/build/runc.bash
source "$grr_base/src/build/runc.bash"
# shellcheck source=../../src/build/grootfs.bash
source "$grr_base/src/build/grootfs.bash"

export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH

export GOPATH=$grr_base
export GOPATH="$grr_base/src/gopath"
export PATH=$HOME/go/bin:$GOPATH/bin:$PATH

mkdir -p "${GOPATH}/bin"
build_runc "$grr_base" "${GOPATH}/bin"
build_grootfs "$grr_base" "${GOPATH}/bin"

#TODO: Figure out how to get rid of the containerd git-related errors below
echo -e "=========================================\n\n\n\nDuring containerd compilation you will get git fatals that complain of containerd directory not being a git repository. You can safely ignore them :)\n\n\n\n========================================="
pushd "$grr_base"/src/github.com/containerd/containerd
pushd "$GOPATH"/src/github.com/containerd/containerd
BUILDTAGS=no_btrfs make && make install
popd

Expand All @@ -42,7 +46,7 @@ go version

echo "compiling test process: $(date)"

cd "$grr_base"/src/code.cloudfoundry.org/guardian
cd "$grr_base"/src/gopath/src/code.cloudfoundry.org/guardian

if [ -z "${NO_GO_VET:-}" ]; then
go vet ./...
Expand Down
4 changes: 2 additions & 2 deletions ci/scripts/garden
Expand Up @@ -6,10 +6,10 @@ cd "$( dirname "$0" )/../.."
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH

export GOPATH=$PWD
export GOPATH=$PWD/src/gopath
export PATH=$GOPATH/bin:$PATH

cd src/code.cloudfoundry.org/garden
cd src/gopath/src/code.cloudfoundry.org/garden

go vet ./...
ginkgo -r -p --race --keepGoing --nodes="${GINKGO_NODES:-8}" --failOnPending --randomizeSuites --randomizeAllSpecs "$@"
4 changes: 2 additions & 2 deletions ci/scripts/gdn-linux
Expand Up @@ -32,7 +32,7 @@ function prepare() {
}

function test() {
cd src/code.cloudfoundry.org/garden-integration-tests
cd src/gopath/src/code.cloudfoundry.org/garden-integration-tests

cmd="ginkgo -p --nodes=${GINKGO_NODES:-8} --failOnPending --randomizeSuites --randomizeAllSpecs $*"
if [ -n "${SLOW_MOBIUS_TIME_LIMIT_SECONDS:-}" ]; then
Expand All @@ -44,7 +44,7 @@ function test() {

cd "$( dirname "$0" )/../.."

export GOPATH=$PWD
export GOPATH=$PWD/src/gopath
export PATH=$GOPATH/bin:$PATH
export tmpdir=/tmp/dir

Expand Down
16 changes: 8 additions & 8 deletions ci/scripts/gdn-linux-standalone
Expand Up @@ -9,14 +9,14 @@ set -ex
# shellcheck source=../../src/build/runc.bash
source "$( dirname "$0" )/../../src/build/runc.bash"

export GOPATH=$PWD/gr-release-develop
export GOPATH=$PWD/gr-release-develop/src/gopath
export PATH=$PATH:$GOPATH/bin

basedir=$PWD

# If you want to fly execute this, you will have to pass DEV_MODE=true
if [ -z "$DEV_MODE" ]; then
gdn_version=$(cd gr-release-develop/src/code.cloudfoundry.org/guardian && git rev-parse HEAD)
gdn_version=$(cd gr-release-develop/src/gopath/src/code.cloudfoundry.org/guardian && git rev-parse HEAD)
gdn_build_ldflags="-X main.version=${gdn_version}"
fi

Expand Down Expand Up @@ -45,25 +45,25 @@ function build() {
(
(
unset GOPATH
cd src/code.cloudfoundry.org/guardian
cd src/gopath/src/code.cloudfoundry.org/guardian
go build -mod vendor -o "${LINUX_ASSETS}/bin/dadoo" ./cmd/dadoo
)

build_runc "$PWD" "${LINUX_ASSETS}/bin"

pushd src/code.cloudfoundry.org/guardian/rundmc/nstar
pushd src/gopath/src/code.cloudfoundry.org/guardian/rundmc/nstar
make
mv nstar "${LINUX_ASSETS}/bin"
popd

pushd src/code.cloudfoundry.org/guardian/cmd/init
pushd src/gopath/src/code.cloudfoundry.org/guardian/cmd/init
gcc -static -o init init.c ignore_sigchild.c
mv init "${LINUX_ASSETS}/bin"
popd


(
cd src/code.cloudfoundry.org/grootfs
cd src/gopath/src/code.cloudfoundry.org/grootfs

unset GOPATH

Expand All @@ -73,10 +73,10 @@ function build() {
)
popd

go-bindata -nomemcopy -pkg bindata -o gr-release-develop/src/code.cloudfoundry.org/guardian/bindata/bindata.go linux/...
go-bindata -nomemcopy -pkg bindata -o gr-release-develop/src/gopath/src/code.cloudfoundry.org/guardian/bindata/bindata.go linux/...

(
cd gr-release-develop/src/code.cloudfoundry.org/guardian
cd gr-release-develop/src/gopath/src/code.cloudfoundry.org/guardian

unset GOPATH

Expand Down
8 changes: 6 additions & 2 deletions ci/scripts/guardian
Expand Up @@ -8,14 +8,18 @@ source "$grr_base/ci/helpers/device-control"

# shellcheck source=../../src/build/runc.bash
source "$grr_base/src/build/runc.bash"
# shellcheck source=../../src/build/grootfs.bash
source "$grr_base/src/build/grootfs.bash"

export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH

export GOPATH=$grr_base
export GOPATH="${grr_base}/src/gopath"
export PATH=$HOME/go/bin:$GOPATH/bin:$PATH

mkdir -p "${GOPATH}/bin"
build_runc "$grr_base" "${GOPATH}/bin"
build_grootfs "$grr_base" "${GOPATH}/bin"

if [[ "$CONTAINERD_ENABLED" == "true" ]] ; then
#TODO: Figure out how to get rid of the containerd git-related errors below
Expand Down Expand Up @@ -44,7 +48,7 @@ go version

echo "compiling test process: $(date)"

cd "$grr_base"/src/code.cloudfoundry.org/guardian
cd "$grr_base"/src/gopath/src/code.cloudfoundry.org/guardian

if [ -z "${NO_GO_VET:-}" ]; then
go vet ./...
Expand Down
8 changes: 5 additions & 3 deletions ci/scripts/guardian-windows.ps1
Expand Up @@ -3,16 +3,18 @@ trap { $host.SetShouldExit(1) }

cd gr-release-develop

$env:GOPATH = $PWD
$env:PWD = (Get-Location)
$env:GOPATH = ${env:PWD} + "\src\gopath"
$env:PATH = $env:GOPATH + "/bin;C:/go/bin;" + $env:PATH

Write-Host "Installing Ginkgo"
go.exe install ./src/github.com/onsi/ginkgo/ginkgo
go.exe install ./src/gopath/src/github.com/onsi/ginkgo/ginkgo
if ($LastExitCode -ne 0) {
throw "Ginkgo installation process returned error code: $LastExitCode"
}

cd src/code.cloudfoundry.org/guardian
$guardian_path = ${env:GOPATH} + "/src/code.cloudfoundry.org/guardian"
cd ${guardian_path}

go version
go vet ./...
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/non-nested-gats
Expand Up @@ -5,7 +5,7 @@ base=$PWD

cd "$( dirname "$0" )/../.."

export GOPATH=$PWD
export GOPATH=$PWD/src/gopath
export PATH=$PWD/bin:$PATH

cd src/code.cloudfoundry.org/garden-integration-tests
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/performance-tests
Expand Up @@ -3,7 +3,7 @@ set -ex

cd "$( dirname "$0" )/../.."

export GOPATH=$PWD
export GOPATH=$PWD/src/gopath
export PATH=$PWD/bin:$PATH

cd src/code.cloudfoundry.org/garden-integration-tests
Expand Down
4 changes: 2 additions & 2 deletions scripts/test
Expand Up @@ -23,12 +23,12 @@ usage() {
go_vet_and_fmt() {
cd "$ROOT_DIR_PATH"

pushd src/code.cloudfoundry.org/guardian
pushd src/gopath/src/code.cloudfoundry.org/guardian
GOOS=linux go vet ./...
go fmt ./...
popd

pushd src/code.cloudfoundry.org/garden
pushd src/gopath/src/code.cloudfoundry.org/garden
GOOS=linux go vet ./...
go fmt ./...
popd
Expand Down
14 changes: 14 additions & 0 deletions src/build/grootfs.bash
@@ -0,0 +1,14 @@
function build_grootfs() {
local garden_runc_release_dir="$1"
local target="$2"

(
unset GOPATH
cd "$garden_runc_release_dir/src/gopath/src/code.cloudfoundry.org/grootfs" || exit
make all

chmod 04755 build/tardis

mv build/{grootfs,tardis} "$target"
)
}
12 changes: 7 additions & 5 deletions src/build/runc.bash
Expand Up @@ -2,12 +2,14 @@
source "$(dirname "${BASH_SOURCE[0]}")"/../patches/patch.bash

function build_runc() {
garden_runc_release_dir="$1"
dest_dir="$2"
local garden_runc_release_dir="$1"
local target="$2"

(
cd "$garden_runc_release_dir/src/gopath/src/github.com/opencontainers/runc" || exit

pushd "$garden_runc_release_dir/src/github.com/opencontainers/runc"
apply_patches "$garden_runc_release_dir/src/patches/runc"
make BUILDTAGS='seccomp apparmor' static
mv runc "$dest_dir"
popd
mv runc "$target"
)
}
1 change: 0 additions & 1 deletion src/code.cloudfoundry.org/guardian
Submodule guardian deleted from 22110f
Empty file added src/gopath/bin/.gitkeep
Empty file.
1 change: 1 addition & 0 deletions src/gopath/src/code.cloudfoundry.org/guardian
Submodule guardian added at 5708a9
Submodule yaml.v2 updated from 000000 to a83829

0 comments on commit d294f97

Please sign in to comment.