mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-22 00:46:33 +03:00
Use Appveyor to build Windows packages
The script was executed both by this repos' appveyor config (to run the tests) and by the psycopg2-wheels config (to build the packages). Now there are two different workflows to execute for tests and to build packages. The only way to swap them is to change the project config it seems, in <https://ci.appveyor.com/project/psycopg/psycopg2/settings>.
This commit is contained in:
parent
efae570a07
commit
e7ce6761e1
88
.appveyor/packages.yml
Normal file
88
.appveyor/packages.yml
Normal file
|
@ -0,0 +1,88 @@
|
|||
version : 2.x.{build}
|
||||
|
||||
clone_folder: C:\Project
|
||||
|
||||
# We use the configuration to specify the package name
|
||||
configuration:
|
||||
- psycopg2
|
||||
- psycopg2-binary
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
# For Python versions available on Appveyor, see
|
||||
# https://www.appveyor.com/docs/windows-images-software/#python
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019, PY_VER: "39", PY_ARCH: "32"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019, PY_VER: "39", PY_ARCH: "64"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "38", PY_ARCH: "32"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "38", PY_ARCH: "64"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "37", PY_ARCH: "32"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "37", PY_ARCH: "64"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "36", PY_ARCH: "32"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "36", PY_ARCH: "64"}
|
||||
|
||||
WORKFLOW: packages
|
||||
|
||||
OPENSSL_VERSION: "1_1_1h"
|
||||
POSTGRES_VERSION: "13_0"
|
||||
|
||||
PSYCOPG2_TESTDB: psycopg2_test
|
||||
PSYCOPG2_TESTDB_USER: postgres
|
||||
PSYCOPG2_TESTDB_HOST: localhost
|
||||
|
||||
PGUSER: postgres
|
||||
PGPASSWORD: Password12!
|
||||
PGSSLMODE: require
|
||||
|
||||
# Add CWD to perl library path for PostgreSQL build on VS2019
|
||||
PERL5LIB: .
|
||||
|
||||
# Select according to the service enabled
|
||||
POSTGRES_DIR: C:\Program Files\PostgreSQL\9.6\
|
||||
|
||||
# The python used in the build process, not the one packages are built for
|
||||
PYEXE: C:\Python36\python.exe
|
||||
|
||||
matrix:
|
||||
fast_finish: false
|
||||
|
||||
services:
|
||||
# Note: if you change this service also change POSTGRES_DIR
|
||||
- postgresql96
|
||||
|
||||
cache:
|
||||
# Rebuild cache if following file changes
|
||||
# (See the file to zap the cache manually)
|
||||
- C:\Others -> scripts\appveyor.cache_rebuild
|
||||
|
||||
# Script called before repo cloning
|
||||
# init:
|
||||
|
||||
# Repository gets cloned, Cache is restored
|
||||
|
||||
install:
|
||||
- "%PYEXE% scripts\\appveyor.py install"
|
||||
|
||||
# PostgreSQL server starts now
|
||||
|
||||
build: off
|
||||
|
||||
build_script:
|
||||
- "%PYEXE% scripts\\appveyor.py build_script"
|
||||
|
||||
after_build:
|
||||
- "%PYEXE% scripts\\appveyor.py after_build"
|
||||
|
||||
before_test:
|
||||
- "%PYEXE% scripts\\appveyor.py before_test"
|
||||
|
||||
test_script:
|
||||
- "%PYEXE% scripts\\appveyor.py test_script"
|
||||
|
||||
artifacts:
|
||||
- path: dist\psycopg2-*\*.whl
|
||||
name: wheel
|
||||
- path: dist\psycopg2-*\*.exe
|
||||
name: exe
|
||||
|
||||
|
||||
# vim: set ts=4 sts=4 sw=4:
|
|
@ -3,11 +3,6 @@ version : 2.x.{build}
|
|||
clone_folder: C:\Project
|
||||
|
||||
environment:
|
||||
global:
|
||||
# MSVC Express 2008's setenv.cmd failes if /E:ON and /V:ON are not
|
||||
# enabled in the batch script interpreter
|
||||
CMD_IN_ENV: cmd /E:ON /V:ON /C .\appveyor\run_with_env.cmd
|
||||
|
||||
matrix:
|
||||
# For Python versions available on Appveyor, see
|
||||
# https://www.appveyor.com/docs/windows-images-software/#python
|
||||
|
@ -20,6 +15,8 @@ environment:
|
|||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "36", PY_ARCH: "32"}
|
||||
- {APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015, PY_VER: "36", PY_ARCH: "64"}
|
||||
|
||||
WORKFLOW: tests
|
||||
|
||||
OPENSSL_VERSION: "1_1_1h"
|
||||
POSTGRES_VERSION: "13_0"
|
||||
|
|
@ -699,13 +699,8 @@ class Options:
|
|||
@property
|
||||
def is_wheel(self):
|
||||
"""Are we building the wheel packages or just the extension?"""
|
||||
project_name = os.environ['APPVEYOR_PROJECT_NAME']
|
||||
if project_name == 'psycopg2':
|
||||
return False
|
||||
elif project_name == 'psycopg2-wheels':
|
||||
return True
|
||||
else:
|
||||
raise Exception(f"unexpected project name: {project_name}")
|
||||
workflow = os.environ["WORKFLOW"]
|
||||
return workflow == "packages"
|
||||
|
||||
@property
|
||||
def py_dir(self):
|
||||
|
@ -801,12 +796,7 @@ class Options:
|
|||
|
||||
@property
|
||||
def package_dir(self):
|
||||
"""
|
||||
The directory containing the psycopg code checkout dir.
|
||||
|
||||
Building psycopg it is clone_dir, building the wheels it is a submodule.
|
||||
"""
|
||||
return self.clone_dir / 'psycopg2' if self.is_wheel else self.clone_dir
|
||||
return self.clone_dir
|
||||
|
||||
@property
|
||||
def dist_dir(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user