test formatting issues as part of sanity check
motivaiton: unified format
changes:
* use official docker image 🎉
* fix outstanding formatting issues
* add a call to swiftformat as part of sanity script
* fix sanity script language check debugging statements
This commit is contained in:
parent
d9b74611a7
commit
25c2c17b45
|
|
@ -1,10 +1,12 @@
|
||||||
# file options
|
# file options
|
||||||
|
|
||||||
|
--exclude .build
|
||||||
|
|
||||||
# format options
|
# format options
|
||||||
|
|
||||||
--self insert
|
--self insert
|
||||||
--patternlet inline
|
--patternlet inline
|
||||||
--stripunusedargs unnamed-only
|
--stripunusedargs unnamed-only
|
||||||
--comments ignore
|
--comments ignore
|
||||||
|
|
||||||
# rules
|
# rules
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,6 @@ public class Counter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public extension Recorder {
|
public extension Recorder {
|
||||||
/// Create a new `Recorder`.
|
/// Create a new `Recorder`.
|
||||||
///
|
///
|
||||||
|
|
@ -153,7 +152,6 @@ public class Recorder {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// A gauge is a metric that represents a single numerical value that can arbitrarily go up and down.
|
/// A gauge is a metric that represents a single numerical value that can arbitrarily go up and down.
|
||||||
/// Gauges are typically used for measured values like temperatures or current memory usage, but also "counts" that can go up and down, like the number of active threads.
|
/// Gauges are typically used for measured values like temperatures or current memory usage, but also "counts" that can go up and down, like the number of active threads.
|
||||||
/// Gauges are modeled as `Recorder` with a sample size of 1 and that does not perform any aggregation.
|
/// Gauges are modeled as `Recorder` with a sample size of 1 and that does not perform any aggregation.
|
||||||
|
|
@ -168,7 +166,6 @@ public class Gauge: Recorder {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public extension Timer {
|
public extension Timer {
|
||||||
/// Create a new `Timer`.
|
/// Create a new `Timer`.
|
||||||
///
|
///
|
||||||
|
|
@ -572,9 +569,11 @@ public final class NOOPMetricsHandler: MetricsFactory, CounterHandler, RecorderH
|
||||||
public func makeCounter(label: String, dimensions: [(String, String)]) -> CounterHandler {
|
public func makeCounter(label: String, dimensions: [(String, String)]) -> CounterHandler {
|
||||||
return self
|
return self
|
||||||
}
|
}
|
||||||
|
|
||||||
public func makeRecorder(label: String, dimensions: [(String, String)], aggregate: Bool) -> RecorderHandler {
|
public func makeRecorder(label: String, dimensions: [(String, String)], aggregate: Bool) -> RecorderHandler {
|
||||||
return self
|
return self
|
||||||
}
|
}
|
||||||
|
|
||||||
public func makeTimer(label: String, dimensions: [(String, String)]) -> TimerHandler {
|
public func makeTimer(label: String, dimensions: [(String, String)]) -> TimerHandler {
|
||||||
return self
|
return self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,56 +1,37 @@
|
||||||
ARG ubuntu_version=18.04
|
ARG swift_version=5.0
|
||||||
FROM ubuntu:$ubuntu_version
|
ARG ubuntu_version=bionic
|
||||||
|
# backwards compatibility for 4.2 images
|
||||||
|
ARG image_version=$swift_version-$ubuntu_version
|
||||||
|
FROM swift:$image_version
|
||||||
# needed to do again after FROM due to docker limitation
|
# needed to do again after FROM due to docker limitation
|
||||||
|
ARG swift_version
|
||||||
ARG ubuntu_version
|
ARG ubuntu_version
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
# set as UTF-8
|
||||||
# do not start services during installation as this will fail and log a warning / error.
|
RUN apt-get update && apt-get install -y locales locales-all
|
||||||
RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
|
ENV LC_ALL en_US.UTF-8
|
||||||
|
ENV LANG en_US.UTF-8
|
||||||
|
ENV LANGUAGE en_US.UTF-8
|
||||||
|
|
||||||
# basic dependencies
|
# dependencies
|
||||||
RUN apt-get update && apt-get install -y wget git build-essential software-properties-common pkg-config locales
|
RUN apt-get update && apt-get install -y wget
|
||||||
RUN apt-get update && apt-get install -y libicu-dev libblocksruntime0 curl libcurl4-openssl-dev libz-dev
|
RUN apt-get update && apt-get install -y lsof dnsutils netcat-openbsd net-tools # used by integration tests
|
||||||
|
|
||||||
# local
|
|
||||||
RUN locale-gen en_US.UTF-8
|
|
||||||
RUN locale-gen en_US en_US.UTF-8
|
|
||||||
RUN dpkg-reconfigure locales
|
|
||||||
RUN echo 'export LANG=en_US.UTF-8' >> $HOME/.profile
|
|
||||||
RUN echo 'export LANGUAGE=en_US:en' >> $HOME/.profile
|
|
||||||
RUN echo 'export LC_ALL=en_US.UTF-8' >> $HOME/.profile
|
|
||||||
|
|
||||||
# known_hosts
|
|
||||||
RUN mkdir -p $HOME/.ssh
|
|
||||||
RUN touch $HOME/.ssh/known_hosts
|
|
||||||
RUN ssh-keyscan github.com 2> /dev/null >> $HOME/.ssh/known_hosts
|
|
||||||
|
|
||||||
# clang
|
|
||||||
RUN apt-get update && apt-get install -y clang-3.9
|
|
||||||
RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100
|
|
||||||
RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.9 100
|
|
||||||
|
|
||||||
# ruby and jazzy for docs generation
|
# ruby and jazzy for docs generation
|
||||||
#ARG skip_ruby_from_ppa
|
|
||||||
#RUN [ -n "$skip_ruby_from_ppa" ] || apt-add-repository -y ppa:brightbox/ruby-ng
|
|
||||||
#RUN [ -n "$skip_ruby_from_ppa" ] || { apt-get update && apt-get install -y ruby2.4 ruby2.4-dev; }
|
|
||||||
#RUN [ -z "$skip_ruby_from_ppa" ] || { apt-get update && apt-get install -y ruby ruby-dev; }
|
|
||||||
#RUN apt-get update && apt-get install -y libsqlite3-dev
|
|
||||||
RUN apt-get update && apt-get install -y ruby ruby-dev libsqlite3-dev
|
RUN apt-get update && apt-get install -y ruby ruby-dev libsqlite3-dev
|
||||||
RUN gem install jazzy --no-ri --no-rdoc
|
RUN gem install jazzy --no-ri --no-rdoc
|
||||||
|
|
||||||
# swift
|
# tools
|
||||||
ARG swift_version=4.2.3
|
RUN mkdir -p $HOME/.tools
|
||||||
ARG swift_flavour=RELEASE
|
RUN echo 'export PATH="$HOME/.tools:$PATH"' >> $HOME/.profile
|
||||||
ARG swift_builds_suffix=release
|
|
||||||
|
|
||||||
RUN mkdir $HOME/.swift
|
# script to allow mapping framepointers on linux (until part of the toolchain)
|
||||||
RUN wget -q "https://swift.org/builds/swift-${swift_version}-${swift_builds_suffix}/ubuntu$(echo $ubuntu_version | sed 's/\.//g')/swift-${swift_version}-${swift_flavour}/swift-${swift_version}-${swift_flavour}-ubuntu${ubuntu_version}.tar.gz" -O $HOME/swift.tar.gz
|
RUN wget -q https://raw.githubusercontent.com/apple/swift/master/utils/symbolicate-linux-fatal -O $HOME/.tools/symbolicate-linux-fatal
|
||||||
RUN tar xzf $HOME/swift.tar.gz --directory $HOME/.swift --strip-components=1
|
RUN chmod 755 $HOME/.tools/symbolicate-linux-fatal
|
||||||
RUN echo 'export PATH="$HOME/.swift/usr/bin:$PATH"' >> $HOME/.profile
|
|
||||||
RUN echo 'export LINUX_SOURCEKIT_LIB_PATH="$HOME/.swift/usr/lib"' >> $HOME/.profile
|
|
||||||
|
|
||||||
# script to allow mapping framepointers on linux
|
# swiftformat (until part of the toolchain)
|
||||||
RUN mkdir -p $HOME/.scripts
|
|
||||||
RUN wget -q https://raw.githubusercontent.com/apple/swift/master/utils/symbolicate-linux-fatal -O $HOME/.scripts/symbolicate-linux-fatal
|
ARG swiftformat_version=0.40.11
|
||||||
RUN chmod 755 $HOME/.scripts/symbolicate-linux-fatal
|
RUN git clone --branch $swiftformat_version --depth 1 https://github.com/nicklockwood/SwiftFormat $HOME/.tools/swift-format
|
||||||
RUN echo 'export PATH="$HOME/.scripts:$PATH"' >> $HOME/.profile
|
RUN cd $HOME/.tools/swift-format && swift build -c release
|
||||||
|
RUN ln -s $HOME/.tools/swift-format/.build/release/swiftformat $HOME/.tools/swiftformat
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,7 @@ services:
|
||||||
image: swift-metrics:18.04-4.2
|
image: swift-metrics:18.04-4.2
|
||||||
build:
|
build:
|
||||||
args:
|
args:
|
||||||
ubuntu_version: "18.04"
|
image_version: "4.2"
|
||||||
swift_version: "4.2"
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
image: swift-metrics:18.04-4.2
|
image: swift-metrics:18.04-4.2
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ services:
|
||||||
image: swift-metrics:18.04-5.0
|
image: swift-metrics:18.04-5.0
|
||||||
build:
|
build:
|
||||||
args:
|
args:
|
||||||
ubuntu_version: "18.04"
|
ubuntu_version: "bionic"
|
||||||
swift_version: "5.0"
|
swift_version: "5.0"
|
||||||
|
|
||||||
test:
|
test:
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,23 @@ else
|
||||||
printf "\033[0;32mokay.\033[0m\n"
|
printf "\033[0;32mokay.\033[0m\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "=> Checking license headers... "
|
printf "=> Checking format... "
|
||||||
|
FIRST_OUT="$(git status --porcelain)"
|
||||||
|
swiftformat . > /dev/null 2>&1
|
||||||
|
SECOND_OUT="$(git status --porcelain)"
|
||||||
|
if [[ "$FIRST_OUT" != "$SECOND_OUT" ]]; then
|
||||||
|
printf "\033[0;31mformatting issues!\033[0m\n"
|
||||||
|
git --no-pager diff
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
printf "\033[0;32mokay.\033[0m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "=> Checking license headers\n"
|
||||||
tmp=$(mktemp /tmp/.swift-metrics-sanity_XXXXXX)
|
tmp=$(mktemp /tmp/.swift-metrics-sanity_XXXXXX)
|
||||||
|
|
||||||
for language in swift-or-c bash dtrace; do
|
for language in swift-or-c bash dtrace; do
|
||||||
|
printf " * $language... "
|
||||||
declare -a matching_files
|
declare -a matching_files
|
||||||
declare -a exceptions
|
declare -a exceptions
|
||||||
expections=( )
|
expections=( )
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue