Skip to content

Commit 72f5aea

Browse files
authored
Upgrade buildkite testing (#48)
* upgrade to v2 * bump to latest * fix tests * comment out * fix stubs * add workflow * update triggers
1 parent cf7058a commit 72f5aea

File tree

6 files changed

+52
-30
lines changed

6 files changed

+52
-30
lines changed

.github/workflows/validate.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Validate
2+
3+
on:
4+
- pull_request
5+
- push
6+
7+
permissions: {}
8+
9+
jobs:
10+
core:
11+
name: Lint & Test
12+
permissions:
13+
checks: write
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v3
18+
19+
- name: Test
20+
run: docker compose run --rm tests
21+
22+
- name: Lint
23+
run: docker compose run --rm lint

docker-compose.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
version: '3.4'
22
services:
33
tests:
4-
image: buildkite/plugin-tester
4+
image: buildkite/plugin-tester:v4.1.0
55
volumes:
6-
- ".:/plugin:ro"
6+
- '.:/plugin:ro'
77
environment:
88
- BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_ECR_TAGS_SEEK:OWNER:TEAM=Candidate
99
- BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_ECR_TAGS_MYKEY2=mykeyvalue2
1010
lint:
1111
image: buildkite/plugin-linter
1212
command: ['--name', 'seek-oss/docker-ecr-cache']
1313
volumes:
14-
- ".:/plugin:ro"
15-
14+
- '.:/plugin:ro'

tests/ecr-registry-provider.bats

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# export AWS_STUB_DEBUG=/dev/tty
44
# export DOCKER_STUB_DEBUG=/dev/tty
55

6-
load "$BATS_PATH/load.bash"
6+
load "$BATS_PLUGIN_PATH/load.bash"
77
load "$PWD/hooks/lib/stdlib.bash"
88
load "$PWD/hooks/lib/ecr-registry-provider.bash"
99

@@ -20,13 +20,13 @@ pre_command_hook="$PWD/hooks/pre-command"
2020
"ecr get-login-password --region ap-southeast-2 : echo secure-ecr-password" \
2121
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].registryId : echo looked up repository" \
2222
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryArn : echo arn:aws:ecr:ap-southeast-2:1234567891012:repository/${expected_repository_name}" \
23-
"ecr tag-resource * : echo tag existing resource" \
24-
"ecr put-lifecycle-policy * : echo put lifecycle policy" \
23+
"ecr tag-resource --resource-arn arn:aws:ecr:ap-southeast-2:1234567891012:repository/build-cache/example-org/example-pipeline --cli-input-json \* : echo tag existing resource" \
24+
"ecr put-lifecycle-policy --repository-name build-cache/example-org/example-pipeline --lifecycle-policy-text \* : echo put lifecycle policy" \
2525
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryUri : echo https://1234567891012.dkr.ecr.ap-southeast-2.amazonaws.com"
2626

2727
stub docker \
2828
"login --username AWS --password-stdin 1234567891012.dkr.ecr.ap-southeast-2.amazonaws.com : echo logging in to docker" \
29-
"pull : echo pulled image"
29+
"pull https://1234567891012.dkr.ecr.ap-southeast-2.amazonaws.com:sha1sum : echo pulled image"
3030

3131
stub sha1sum \
3232
"Dockerfile : echo 'sha1sum(Dockerfile)'" \
@@ -60,14 +60,14 @@ pre_command_hook="$PWD/hooks/pre-command"
6060
"ecr get-login-password --region ap-southeast-2 : echo secure-ecr-password" \
6161
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].registryId : echo looked up repository" \
6262
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryArn : echo arn:aws:ecr:ap-southeast-2:1234567891012:repository/${expected_repository_name}" \
63-
"ecr tag-resource * : echo tag existing resource" \
64-
"ecr put-lifecycle-policy * : echo put lifecycle policy" \
63+
"ecr tag-resource --resource-arn arn:aws:ecr:ap-southeast-2:1234567891012:repository/build-cache/example-org/example-pipeline --cli-input-json \* : echo tag existing resource" \
64+
"ecr put-lifecycle-policy --repository-name build-cache/example-org/example-pipeline --lifecycle-policy-text \* : echo put lifecycle policy" \
6565
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryUri : echo ${repository_uri}" \
6666

6767
stub docker \
6868
"login --username AWS --password-stdin 1234567891012.dkr.ecr.ap-southeast-2.amazonaws.com : echo logging in to docker" \
69-
"pull : echo not found && false" \
70-
"build * : echo building docker image" \
69+
"pull 1234567891012.dkr.ecr.ap-southeast-2.amazonaws.com/build-cache/example-org/example-pipeline:deadbee : echo not found && false" \
70+
"build --file=Dockerfile --tag=1234567891012.dkr.ecr.ap-southeast-2.amazonaws.com/build-cache/example-org/example-pipeline:deadbee . : echo building docker image" \
7171
"tag ${repository_uri}:deadbee ${repository_uri}:latest : echo tagged latest" \
7272
"push ${repository_uri}:deadbee : echo pushed deadbeef" \
7373
"push ${repository_uri}:latest : echo pushed latest"
@@ -106,14 +106,14 @@ pre_command_hook="$PWD/hooks/pre-command"
106106
"ecr get-login-password --region eu-west-1 : echo secure-ecr-password" \
107107
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].registryId : echo looked up repository" \
108108
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryArn : echo arn:aws:ecr:eu-west-1:1234567891012:repository/${expected_repository_name}" \
109-
"ecr tag-resource * : echo tag existing resource" \
110-
"ecr put-lifecycle-policy * : echo put lifecycle policy" \
109+
"ecr tag-resource --resource-arn arn:aws:ecr:eu-west-1:1234567891012:repository/build-cache/example-org/example-pipeline --cli-input-json \* : echo tag existing resource" \
110+
"ecr put-lifecycle-policy --repository-name build-cache/example-org/example-pipeline --lifecycle-policy-text \* : echo put lifecycle policy" \
111111
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryUri : echo ${repository_uri}" \
112112

113113
stub docker \
114114
"login --username AWS --password-stdin 1234567891012.dkr.ecr.eu-west-1.amazonaws.com : echo logging in to docker" \
115-
"pull : echo not found && false" \
116-
"build * : echo building docker image" \
115+
"pull 1234567891012.dkr.ecr.eu-west-1.amazonaws.com/build-cache/example-org/example-pipeline:deadbee : echo not found && false" \
116+
"build --file=Dockerfile --tag=1234567891012.dkr.ecr.eu-west-1.amazonaws.com/build-cache/example-org/example-pipeline:deadbee . : echo building docker image" \
117117
"tag ${repository_uri}:deadbee ${repository_uri}:latest : echo tagged latest" \
118118
"push ${repository_uri}:deadbee : echo pushed deadbeef" \
119119
"push ${repository_uri}:latest : echo pushed latest"
@@ -154,14 +154,14 @@ pre_command_hook="$PWD/hooks/pre-command"
154154
"ecr get-login-password --region ap-southeast-1 : echo secure-ecr-password" \
155155
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].registryId : echo looked up repository" \
156156
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryArn : echo arn:aws:ecr:ap-southeast-1:1234567891012:repository/${expected_repository_name}" \
157-
"ecr tag-resource * : echo tag existing resource" \
158-
"ecr put-lifecycle-policy * : echo put lifecycle policy" \
157+
"ecr tag-resource --resource-arn arn:aws:ecr:ap-southeast-1:1234567891012:repository/build-cache/example-org/example-pipeline --cli-input-json \* : echo tag existing resource" \
158+
"ecr put-lifecycle-policy --repository-name build-cache/example-org/example-pipeline --lifecycle-policy-text \* : echo put lifecycle policy" \
159159
"ecr describe-repositories --repository-names ${expected_repository_name} --output text --query repositories[0].repositoryUri : echo ${repository_uri}" \
160160

161161
stub docker \
162162
"login --username AWS --password-stdin 1234567891012.dkr.ecr.ap-southeast-1.amazonaws.com : echo logging in to docker" \
163-
"pull : echo not found && false" \
164-
"build * : echo building docker image" \
163+
"pull 1234567891012.dkr.ecr.ap-southeast-1.amazonaws.com/build-cache/example-org/example-pipeline:deadbee : echo not found && false" \
164+
"build --file=Dockerfile --tag=1234567891012.dkr.ecr.ap-southeast-1.amazonaws.com/build-cache/example-org/example-pipeline:deadbee . : echo building docker image" \
165165
"tag ${repository_uri}:deadbee ${repository_uri}:latest : echo tagged latest" \
166166
"push ${repository_uri}:deadbee : echo pushed deadbeef" \
167167
"push ${repository_uri}:latest : echo pushed latest"

tests/gcr-registry-provider.bats

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bats
22

3-
load "$BATS_PATH/load.bash"
3+
load "$BATS_PLUGIN_PATH/load.bash"
44
load "$PWD/hooks/lib/stdlib.bash"
55
load "$PWD/hooks/lib/gcr-registry-provider.bash"
66

tests/pre-command.bats

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bats
22

3-
load "$BATS_PATH/load.bash"
3+
load "$BATS_PLUGIN_PATH/load.bash"
44

55
# export DOCKER_STUB_DEBUG=/dev/tty
66

@@ -20,7 +20,7 @@ pre_command_hook="$PWD/hooks/pre-command"
2020
local repository_uri="pretend.host/path/segment/image"
2121

2222
stub docker \
23-
"pull * : true"
23+
"pull pretend.host/path/segment/image:stubbed-computed-tag : true"
2424

2525
run "${pre_command_hook}"
2626

@@ -34,8 +34,8 @@ pre_command_hook="$PWD/hooks/pre-command"
3434
export BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_REGISTRY_PROVIDER="stub"
3535

3636
stub docker \
37-
"pull * : false" \
38-
"build * : exit 242"
37+
"pull pretend.host/path/segment/image:stubbed-computed-tag : false" \
38+
"build --file=Dockerfile --tag=pretend.host/path/segment/image:stubbed-computed-tag . : exit 242"
3939

4040
run "${pre_command_hook}"
4141

@@ -52,8 +52,8 @@ pre_command_hook="$PWD/hooks/pre-command"
5252
local repository_uri="pretend.host/path/segment/image"
5353

5454
stub docker \
55-
"pull * : false" \
56-
"build * : echo building docker image" \
55+
"pull pretend.host/path/segment/image:stubbed-computed-tag : false" \
56+
"build --file=Dockerfile --tag=pretend.host/path/segment/image:stubbed-computed-tag . : echo building docker image" \
5757
"tag ${repository_uri}:stubbed-computed-tag ${repository_uri}:latest : echo tagged latest" \
5858
"push ${repository_uri}:stubbed-computed-tag : echo pushed stubbed-computed-tag" \
5959
"push ${repository_uri}:latest : echo pushed latest"
@@ -79,8 +79,8 @@ pre_command_hook="$PWD/hooks/pre-command"
7979
"-d : echo $one_time_mktemp"
8080

8181
stub docker \
82-
"pull * : false" \
83-
"build --file=$one_time_mktemp/Dockerfile * : echo building docker image" \
82+
"pull pretend.host/path/segment/image:stubbed-computed-tag : false" \
83+
"build --file=$one_time_mktemp/Dockerfile --tag=pretend.host/path/segment/image:stubbed-computed-tag . : echo building docker image" \
8484
"tag ${repository_uri}:stubbed-computed-tag ${repository_uri}:latest : echo tagged latest" \
8585
"push ${repository_uri}:stubbed-computed-tag : echo pushed stubbed-computed-tag" \
8686
"push ${repository_uri}:latest : echo pushed latest"

tests/stdlib.bats

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# export UNAME_STUB_DEBUG=/dev/tty
44
# export SHA1SUM_STUB_DEBUG=/dev/tty
55

6-
load "$BATS_PATH/load.bash"
6+
load "$BATS_PLUGIN_PATH/load.bash"
77
load "$PWD/hooks/lib/stdlib.bash"
88

99
pre_command_hook="$PWD/hooks/pre-command"

0 commit comments

Comments
 (0)