diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000000..c25c0edfe3851 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,18 @@ +language: c +compiler: gcc +dist: xenial +addons: + apt: + packages: + - libreadline-dev + - zlib1g-dev +install: + - curl -L https://cpanmin.us | perl - App::cpanminus + - ~/perl5/bin/cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) + - ~/perl5/bin/cpanm IPC::Run + - ~/perl5/bin/cpanm Test::More + - ~/perl5/bin/cpanm Time::HiRes +script: + - export CFLAGS="-Og" + - ./configure --enable-debug --enable-cassert --enable-depend --enable-tap-tests BISONFLAGS="-v" + - make check-world diff --git a/README.md b/README.md new file mode 100644 index 0000000000000..ca95d1e4ac3ee --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# PostgreSQL mirror +[![Travis-ci Status](https://travis-ci.com/postgrespro/postgres.svg?branch=master_ci)](https://travis-ci.com/postgrespro/postgres) +[![Build status](https://ci.appveyor.com/api/projects/status/24ye5umhokcdyr90/branch/master_ci?svg=true)](https://ci.appveyor.com/project/ololobus/postgres-95nau/branch/master_ci) + +Involves automatic builds of PRs/commits on Linux (Travis-CI) and Windows (Appveyor): + * Linux: full `make check-world` + * Windows: only build + `make check` + +These checks are very similar to [cfbot](https://github.com/postgresql-cfbot) builds. + +If you want to verify your patch set before sending it to hackers, then just send a PR with your changes to the branch [master_ci](https://github.com/postgrespro/postgres/tree/master_ci) from any other postgres fork across GitHub. [See example](https://github.com/postgrespro/postgres/pull/3). + +Branch [master](https://github.com/postgrespro/postgres/tree/master) is left intact for convinience. Default branch is [master_ci](https://github.com/postgrespro/postgres/tree/master_ci) now, but **do not push or commit anything there**. To update [master_ci](https://github.com/postgrespro/postgres/tree/master_ci) you should add `upstream` remote first (you have to do it only once): + +```shell +git remote add upstream git@github.com:postgres/postgres.git +``` + +Then update `master` branch: +```shell +git checkout master +git pull --rebase upstream master +git push -f origin master +``` + +And finally update `master_ci` branch: +```shell +git checkout master_ci +git pull --rebase upstream master +git push -f origin master_ci +``` + +For original PostgreSQL readme [refer to README file](README). diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000000000..6bd1f83de56a9 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,32 @@ +skip_branch_with_pr: true +shallow_clone: true + +image: + - Visual Studio 2015 + +install: + - appveyor-retry cinst winflexbison + - '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64' + - '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64' + +before_build: + - rename c:\ProgramData\chocolatey\bin\win_flex.exe flex.exe + - rename c:\ProgramData\chocolatey\bin\win_bison.exe bison.exe + # - cpan App::cpanminus + # - cpanm CPAN + # - cpanm Test::More + # - cpanm Time::HiRes + # - cpanm --notest --no-prompt -f IPC::Run # There are some problems with running IPC::Run tests on install + - perl buildsetup.pl + +build: + project: pgsql.sln + +test_script: + - cd src\tools\msvc && vcregress check #&& vcregress bincheck + +on_failure: + - perl dumpregr.pl + +configuration: + - Release diff --git a/buildsetup.pl b/buildsetup.pl new file mode 100644 index 0000000000000..5f43e51ce2d2d --- /dev/null +++ b/buildsetup.pl @@ -0,0 +1,42 @@ +# First part of postgres build.pl, just doesn't run msbuild + +use strict; + +use File::Copy; + +BEGIN +{ + + chdir("../../..") if (-d "../msvc" && -d "../../../src"); + +} + +use lib "src/tools/msvc"; + +use Cwd; + +use Mkvcbuild; + +# buildenv.pl is for specifying the build environment settings +# it should contain lines like: +# $ENV{PATH} = "c:/path/to/bison/bin;$ENV{PATH}"; + +if (-e "src/tools/msvc/buildenv.pl") +{ + do "src/tools/msvc/buildenv.pl"; +} +elsif (-e "./buildenv.pl") +{ + do "./buildenv.pl"; +} + +copy("config.pl", "src/tools/msvc/config.pl"); + +# set up the project +our $config; +do "config_default.pl"; +do "config.pl" if (-f "src/tools/msvc/config.pl"); + +# print "PATH: $_\n" foreach (split(';',$ENV{PATH})); + +Mkvcbuild::mkvcbuild($config); diff --git a/config.pl b/config.pl new file mode 100644 index 0000000000000..184855c54fb79 --- /dev/null +++ b/config.pl @@ -0,0 +1,32 @@ +# Configuration arguments for vcbuild. +use strict; +use warnings; + +our $config = { + asserts => 1, # --enable-cassert + # float4byval=>1, # --disable-float4-byval, on by default + + # float8byval=> $platformbits == 64, # --disable-float8-byval, + # off by default on 32 bit platforms, on by default on 64 bit platforms + + # blocksize => 8, # --with-blocksize, 8kB by default + # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default + # wal_segsize => 16, # --with-wal-segsize, 16MB by default + ldap => 1, # --with-ldap + extraver => undef, # --with-extra-version= + gss => undef, # --with-gssapi= + icu => undef, # --with-icu= + nls => undef, # --enable-nls= + tap_tests => 1, # --enable-tap-tests + tcl => undef, # --with-tcl= + perl => undef, # --with-perl + python => undef, # --with-python= + openssl => undef, # --with-openssl= + uuid => undef, # --with-ossp-uuid + xml => undef, # --with-libxml= + xslt => undef, # --with-libxslt= + iconv => undef, # (not in configure, path to iconv) + zlib => undef # --with-zlib= +}; + +1; diff --git a/dumpregr.pl b/dumpregr.pl new file mode 100644 index 0000000000000..f0bd624bba025 --- /dev/null +++ b/dumpregr.pl @@ -0,0 +1,21 @@ +use strict; +use warnings FATAL => qw(all); + +use File::Find; + +my $Target = "regression.diffs"; + +find(\&dump, "src"); + +sub dump { + if ($_ eq $Target) { + my $path = $File::Find::name; + print "=== \$path ===\\n"; + open(my $fh, "<", $_) || die "wtf"; + for (1..1000) { + my $line = <$fh>; + last unless defined $line; + print $line; + } + } +} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy