浏览代码

jenkins: No jenkins

Jakob Borg 8 年之前
父节点
当前提交
57d5dfa80c
共有 5 个文件被更改,包括 0 次插入314 次删除
  1. 0 71
      jenkins/build-linux.bash
  2. 0 40
      jenkins/build-macos.bash
  3. 0 38
      jenkins/build-solaris.bash
  4. 0 55
      jenkins/build-windows.bat
  5. 0 110
      jenkins/common.bash

+ 0 - 71
jenkins/build-linux.bash

@@ -1,71 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-
-# Copyright (C) 2016 The Syncthing Authors.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at https://mozilla.org/MPL/2.0/.
-
-# This script should be run by Jenkins as './src/github.com/syncthing/syncthing/jenkins/build-linux.bash',
-# that is, it should be run from $GOPATH.
-
-. src/github.com/syncthing/syncthing/jenkins/common.bash
-
-init
-
-# after init we are in the source directory
-
-clean
-fetchExtra
-buildSource
-build
-test
-testWithCoverage
-
-platforms=(
-	dragonfly-amd64
-	freebsd-amd64 freebsd-386
-	linux-amd64 linux-386 linux-arm linux-arm64 linux-ppc64 linux-ppc64le linux-mips linux-mipsle
-	netbsd-amd64 netbsd-386
-	openbsd-amd64 openbsd-386
-)
-
-echo Building
-for plat in "${platforms[@]}"; do
-	echo Building "$plat"
-
-	goos="${plat%-*}"
-	goarch="${plat#*-}"
-	go run build.go -goos "$goos" -goarch "$goarch" tar
-	mv *.tar.gz "$WORKSPACE"
-	echo
-done
-
-export BUILD_USER=deb
-go run build.go -goarch amd64 deb
-go run build.go -goarch i386 deb
-go run build.go -goarch armel deb
-go run build.go -goarch armhf deb
-go run build.go -goarch arm64 deb
-
-mv *.deb "$WORKSPACE"
-
-export BUILD_USER=snap
-go run build.go -goarch amd64 snap
-go run build.go -goarch armhf snap
-go run build.go -goarch arm64 snap
-
-mv *.snap "$WORKSPACE"
-
-if [[ -d /usr/local/oldgo ]]; then
-	echo
-	echo Building with minimum supported Go version
-	export GOROOT=/usr/local/oldgo
-	export PATH="$GOROOT/bin:$PATH"
-	go version
-	echo
-
-	rm -rf "$GOPATH/pkg"
-	go run build.go install all # only compile, don't run lints and stuff
-fi

+ 0 - 40
jenkins/build-macos.bash

@@ -1,40 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-
-# Copyright (C) 2016 The Syncthing Authors.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at https://mozilla.org/MPL/2.0/.
-
-# This script should be run by Jenkins as './src/github.com/syncthing/syncthing/jenkins/build-macos.bash',
-# that is, it should be run from $GOPATH.
-
-. src/github.com/syncthing/syncthing/jenkins/common.bash
-
-init
-
-# after init we are in the source directory
-
-clean
-fetchExtra
-build
-test
-
-platforms=(
-	darwin-amd64 darwin-386
-)
-
-# Mac builds always require cgo
-export CGO_ENABLED=1
-
-echo Building
-for plat in "${platforms[@]}"; do
-	echo Building "$plat"
-
-	goos="${plat%-*}"
-	goarch="${plat#*-}"
-	go run build.go -goos "$goos" -goarch "$goarch" tar
-	mv *.tar.gz "$WORKSPACE"
-	echo
-done

+ 0 - 38
jenkins/build-solaris.bash

@@ -1,38 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-
-# Copyright (C) 2017 The Syncthing Authors.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at https://mozilla.org/MPL/2.0/.
-
-# This script should be run by Jenkins as './src/github.com/syncthing/syncthing/jenkins/build-macos.bash',
-# that is, it should be run from $GOPATH.
-
-. src/github.com/syncthing/syncthing/jenkins/common.bash
-
-init
-
-# after init we are in the source directory
-
-clean
-fetchExtra
-
-# Solaris always uses cgo, as opposed to our regular cross builds
-export CGO_ENABLED=1
-
-# Quick build, generate assets
-go run build.go build syncthing
-
-# Test the stuff we are going to build only, as discosrv etc fails.
-# -race is not supported on Solaris.
-echo Testing
-go test ./lib/... ./cmd/syncthing
-echo
-
-# Specifically set "syncthing" target as discosrv currently doesn't build
-echo Building
-go run build.go tar syncthing
-mv *.tar.gz "$WORKSPACE"
-echo

+ 0 - 55
jenkins/build-windows.bat

@@ -1,55 +0,0 @@
-@echo off
-
-rem Copyright (C) 2016 The Syncthing Authors.
-rem
-rem This Source Code Form is subject to the terms of the Mozilla Public
-rem License, v. 2.0. If a copy of the MPL was not distributed with this file,
-rem You can obtain one at https://mozilla.org/MPL/2.0/.
-
-rem This batch file should be run from the GOPATH.
-rem It expects to run on amd64, for windows-amd64 Go to be installed in C:\go
-rem and for windows-386 Go to be installed in C:\go-386.
-
-rem cURL should be installed in C:\Program Files\cURL.
-
-set ORIGPATH="C:\Program Files\cURL\bin";%PATH%
-set PATH=c:\go\bin;%ORIGPATH%
-set GOROOT=c:\go
-
-cd >gopath
-set /p GOPATH= <gopath
-
-cd src\github.com\syncthing\syncthing
-
-echo Initializing ^& cleaning
-go version
-git clean -fxd || goto error
-go run build.go version
-echo.
-
-echo Fetching extras
-mkdir extra
-curl -s -L -o extra/Getting-Started.pdf https://docs.syncthing.net/pdf/Getting-Started.pdf || goto :error
-curl -s -L -o extra/FAQ.pdf https://docs.syncthing.net/pdf/FAQ.pdf || goto :error
-echo.
-
-echo Testing
-go run build.go test || goto :error
-echo.
-
-echo Building (amd64)
-go run build.go zip || goto :error
-echo.
-
-set PATH=c:\go-386\bin;%ORIGPATH%
-set GOROOT=c:\go-386
-
-echo building (386)
-go run build.go zip || goto :error
-echo.
-
-goto :EOF
-
-:error
-echo code #%errorlevel%.
-exit /b %errorlevel%

+ 0 - 110
jenkins/common.bash

@@ -1,110 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-
-# Copyright (C) 2016 The Syncthing Authors.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at https://mozilla.org/MPL/2.0/.
-
-ulimit -t 600 || true
-ulimit -d 1024000 || true
-ulimit -m 1024000 || true
-
-export CGO_ENABLED=0
-export GO386=387
-export GOARM=5
-
-function init {
-    echo Initializing
-    export GOPATH=$(pwd)
-    export WORKSPACE="${WORKSPACE:-$GOPATH}"
-    go version
-    rm -f *.tar.gz *.zip *.deb *.snap
-    cd src/github.com/syncthing/syncthing
-
-    version=$(go run build.go version)
-    echo "Building $version"
-    echo
-}
-
-function clean {
-    echo Cleaning
-    rm -rf "$GOPATH/pkg"
-    git clean -fxd
-    rm -rf parts # created by snapcraft, contains git repo so not cleaned by git above
-    echo
-}
-
-function fetchExtra {
-    echo Fetching extra resources
-    mkdir extra
-    curl -s -o extra/Getting-Started.pdf https://docs.syncthing.net/pdf/Getting-Started.pdf
-    curl -s -o extra/FAQ.pdf https://docs.syncthing.net/pdf/FAQ.pdf
-    echo
-}
-
-function checkAuthorsCopyright {
-    echo Basic metadata checks
-    go run script/check-authors.go
-    go run script/check-copyright.go lib/ cmd/ script/
-    echo
-}
-
-function build {
-    echo Build
-    go run build.go
-    echo
-}
-
-function test {
-    echo Test with race
-    CGO_ENABLED=1 go run build.go -race test
-    echo
-}
-
-function testWithCoverage {
-    echo Test with coverage
-    CGO_ENABLED=1
-
-    echo "mode: set" > coverage.out
-    fail=0
-
-    # For every package in the repo
-    for dir in $(go list ./lib/... ./cmd/...) ; do
-        # run the tests
-        GOPATH="$(pwd)/Godeps/_workspace:$GOPATH" go test -coverprofile=profile.out $dir
-        if [ -f profile.out ] ; then
-            # and if there was test output, append it to coverage.out
-            grep -v "mode: " profile.out >> coverage.out
-            rm profile.out
-        fi
-    done
-
-    gocov convert coverage.out | gocov-xml > coverage.xml
-
-    # This is usually run from within Jenkins. If it is, we need to
-    # tweak the paths in coverage.xml so cobertura finds the
-    # source.
-    if [[ "${WORKSPACE:-default}" != "default" ]] ; then
-        sed "s#$WORKSPACE##g" < coverage.xml > coverage.xml.new && mv coverage.xml.new coverage.xml
-    fi
-
-    notCovered=$(egrep -c '\s0$' coverage.out)
-    total=$(wc -l coverage.out | awk '{print $1}')
-    coverPct=$(awk "BEGIN{print (1 - $notCovered / $total) * 100}")
-    echo "$coverPct" > "coverage.txt"
-    echo "Test coverage is $coverPct%%"
-    echo
-
-    CGO_ENABLED=0 # reset to before
-}
-
-function buildSource {
-    echo Archiving source
-    echo "$version" > RELEASE
-    pushd .. >/dev/null
-    tar c -z -f "$WORKSPACE/syncthing-source-$version.tar.gz" --exclude .git syncthing
-    popd >/dev/null
-    echo
-}