Merged master and fixed merge conflicts

This commit is contained in:
Priya Wadhwa 2018-03-08 10:18:04 -08:00
commit 04cca43ce4
No known key found for this signature in database
GPG Key ID: 0D0DAFD8F7AA73AE
11 changed files with 30 additions and 44 deletions

View File

@ -85,7 +85,8 @@ func execute() error {
} }
// Initialize source image // Initialize source image
if err := image.InitializeSourceImage(baseImage); err != nil { sourceImage, err := image.NewSourceImage(baseImage)
if err != nil {
return err return err
} }
@ -142,5 +143,5 @@ func execute() error {
} }
} }
// Push the image // Push the image
return image.PushImage(destination) return image.PushImage(sourceImage, destination)
} }

View File

@ -31,7 +31,7 @@ install_dep() {
} }
if [ -z "$VALIDATE_UPSTREAM" ]; then if [ -z "$VALIDATE_UPSTREAM" ]; then
VALIDATE_REPO='git@github.com:GoogleCloudPlatform/skaffold.git' VALIDATE_REPO='git@github.com:GoogleCloudPlatform/k8s-container-builder.git'
VALIDATE_BRANCH='master' VALIDATE_BRANCH='master'
VALIDATE_HEAD="$(git rev-parse --verify HEAD)" VALIDATE_HEAD="$(git rev-parse --verify HEAD)"

View File

@ -4,16 +4,7 @@
"Image2": "gcr.io/kbuild-test/kbuild-test-run:latest", "Image2": "gcr.io/kbuild-test/kbuild-test-run:latest",
"DiffType": "File", "DiffType": "File",
"Diff": { "Diff": {
"Adds": [ "Adds": null,
{
"Name": "/bin/bzcat",
"Size": 35448
},
{
"Name": "/bin/bzip2",
"Size": 35448
}
],
"Dels": null, "Dels": null,
"Mods": [ "Mods": [
{ {

View File

@ -15,5 +15,5 @@
# Builds the static Go image to execute in a Kubernetes job # Builds the static Go image to execute in a Kubernetes job
FROM scratch FROM scratch
ADD out/executor /work-dir/executor ADD out/executor /kbuild/executor
ADD files/ca-certificates.crt /etc/ssl/certs/ ADD files/ca-certificates.crt /etc/ssl/certs/

View File

@ -55,7 +55,7 @@ type testyaml struct {
} }
var executorImage = "executor-image" var executorImage = "executor-image"
var executorCommand = "/work-dir/executor" var executorCommand = "/kbuild/executor"
var dockerImage = "gcr.io/cloud-builders/docker" var dockerImage = "gcr.io/cloud-builders/docker"
var ubuntuImage = "ubuntu" var ubuntuImage = "ubuntu"
var testRepo = "gcr.io/kbuild-test/" var testRepo = "gcr.io/kbuild-test/"

View File

@ -1,9 +1,12 @@
/* /*
Copyright 2018 Google LLC Copyright 2018 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

View File

@ -1,9 +1,12 @@
/* /*
Copyright 2018 Google LLC Copyright 2018 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

View File

@ -27,34 +27,22 @@ import (
) )
// sourceImage is the image that will be modified by the executor // sourceImage is the image that will be modified by the executor
var sourceImage img.MutableSource
// InitializeSourceImage initializes the source image with the base image // InitializeSourceImage initializes the source image with the base image
func InitializeSourceImage(srcImg string) error { func NewSourceImage(srcImg string) (*img.MutableSource, error) {
logrus.Infof("Initializing source image %s", srcImg) logrus.Infof("Initializing source image %s", srcImg)
ref, err := docker.ParseReference("//" + srcImg) ref, err := docker.ParseReference("//" + srcImg)
if err != nil { if err != nil {
return err return nil, err
} }
ms, err := img.NewMutableSource(ref) return img.NewMutableSource(ref)
if err != nil {
return err
}
sourceImage = *ms
return nil
}
// AppendLayer appends a layer onto the base image
func AppendLayer(contents []byte, author string) error {
logrus.Info("Appending layer to base image")
return sourceImage.AppendLayer(contents, author)
} }
// PushImage pushes the final image // PushImage pushes the final image
func PushImage(destImg string) error { func PushImage(ms *img.MutableSource, destImg string) error {
srcRef := &img.ProxyReference{ srcRef := &img.ProxyReference{
ImageReference: nil, ImageReference: nil,
Src: &sourceImage, Src: ms,
} }
destRef, err := alltransports.ParseImageName("docker://" + destImg) destRef, err := alltransports.ParseImageName("docker://" + destImg)
if err != nil { if err != nil {

View File

@ -37,9 +37,9 @@ func TestSnapshotFileChange(t *testing.T) {
} }
// Make some changes to the filesystem // Make some changes to the filesystem
newFiles := map[string]string{ newFiles := map[string]string{
"foo": "newbaz1", "foo": "newbaz1",
"bar/bat": "baz", "bar/bat": "baz",
"work-dir/bat": "bat", "kbuild/bat": "bat",
} }
if err := testutil.SetupFiles(testDir, newFiles); err != nil { if err := testutil.SetupFiles(testDir, newFiles); err != nil {
t.Fatalf("Error setting up fs: %s", err) t.Fatalf("Error setting up fs: %s", err)
@ -134,15 +134,15 @@ func TestSnapshotFiles(t *testing.T) {
} }
// Make some changes to the filesystem // Make some changes to the filesystem
newFiles := map[string]string{ newFiles := map[string]string{
"foo": "newbaz1", "foo": "newbaz1",
"work-dir/file": "bat", "kbuild/file": "bat",
} }
if err := testutil.SetupFiles(testDir, newFiles); err != nil { if err := testutil.SetupFiles(testDir, newFiles); err != nil {
t.Fatalf("Error setting up fs: %s", err) t.Fatalf("Error setting up fs: %s", err)
} }
filesToSnapshot := []string{ filesToSnapshot := []string{
filepath.Join(testDir, "foo"), filepath.Join(testDir, "foo"),
filepath.Join(testDir, "work-dir/file"), filepath.Join(testDir, "kbuild/file"),
} }
contents, err := snapshotter.TakeSnapshotOfFiles(filesToSnapshot) contents, err := snapshotter.TakeSnapshotOfFiles(filesToSnapshot)
if err != nil { if err != nil {
@ -197,9 +197,9 @@ func setUpTestDir() (string, *Snapshotter, error) {
return testDir, nil, errors.Wrap(err, "setting up temp dir") return testDir, nil, errors.Wrap(err, "setting up temp dir")
} }
files := map[string]string{ files := map[string]string{
"foo": "baz1", "foo": "baz1",
"bar/bat": "baz2", "bar/bat": "baz2",
"work-dir/file": "file", "kbuild/file": "file",
} }
// Set up initial files // Set up initial files
if err := testutil.SetupFiles(testDir, files); err != nil { if err := testutil.SetupFiles(testDir, files); err != nil {

View File

@ -28,7 +28,7 @@ import (
"strings" "strings"
) )
var whitelist = []string{"/work-dir"} var whitelist = []string{"/kbuild"}
// ExtractFileSystemFromImage pulls an image and unpacks it to a file system at root // ExtractFileSystemFromImage pulls an image and unpacks it to a file system at root
func ExtractFileSystemFromImage(img string) error { func ExtractFileSystemFromImage(img string) error {

View File

@ -46,7 +46,7 @@ func Test_fileSystemWhitelist(t *testing.T) {
} }
actualWhitelist, err := fileSystemWhitelist(path) actualWhitelist, err := fileSystemWhitelist(path)
expectedWhitelist := []string{"/work-dir", "/proc", "/dev", "/dev/pts", "/sys"} expectedWhitelist := []string{"/kbuild", "/proc", "/dev", "/dev/pts", "/sys"}
sort.Strings(actualWhitelist) sort.Strings(actualWhitelist)
sort.Strings(expectedWhitelist) sort.Strings(expectedWhitelist)
testutil.CheckErrorAndDeepEqual(t, false, err, expectedWhitelist, actualWhitelist) testutil.CheckErrorAndDeepEqual(t, false, err, expectedWhitelist, actualWhitelist)