all: add dependency checking to the script Travis runs (#128)

Dependency checking for CI - ensures a PR doesn't modify our
dependencies without anyone noticing.

Similar to https://github.com/google/go-cloud/pull/1284

Updates #127
This commit is contained in:
Eli Bendersky
2019-02-14 12:48:32 -08:00
committed by Ross Light
parent d810929d49
commit 66437afbad
3 changed files with 36 additions and 0 deletions

3
internal/alldeps Normal file
View File

@@ -0,0 +1,3 @@
github.com/google/wire
github.com/pmezard/go-difflib
golang.org/x/tools

25
internal/listdeps.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Copyright 2019 The Wire Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -euo pipefail
# To run this script manually to update alldeps:
#
# $ internal/listdeps.sh > internal/alldeps
#
# Important note: there are changes in module tooling behavior between go 1.11
# and go 1.12; please make sure to use the same version of Go as used by Travis
# (see .travis.yml) when updating the alldeps file.
go list -deps -f '{{with .Module}}{{.Path}}{{end}}' ./... | sort | uniq

View File

@@ -30,6 +30,14 @@ if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
if [ -f coverage.out ]; then if [ -f coverage.out ]; then
goveralls -coverprofile=coverage.out -service=travis-ci goveralls -coverprofile=coverage.out -service=travis-ci
fi fi
# Ensure that the code has no extra dependencies (including transitive
# dependencies) that we're not already aware of by comparing with
# ./internal/alldeps
#
# Whenever project dependencies change, rerun ./internal/listdeps.sh
./internal/listdeps.sh | diff ./internal/alldeps - || {
echo "FAIL: dependencies changed; compare listdeps.sh output with alldeps" && result=1
}
else else
go test -race ./... || result=1 go test -race ./... || result=1
fi fi