mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-25 10:23:43 +03:00
Create sdist packages
Adapted from the psycopg2-wheels project
This commit is contained in:
parent
8a2deb39ed
commit
ec531bee31
52
.github/workflows/packages.yml
vendored
Normal file
52
.github/workflows/packages.yml
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
---
|
||||||
|
name: Build packages
|
||||||
|
on:
|
||||||
|
- workflow_dispatch
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-sdist:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- package_name: psycopg2
|
||||||
|
- package_name: psycopg2-binary
|
||||||
|
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout repos
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Build sdist
|
||||||
|
run: ./scripts/build/build_sdist.sh
|
||||||
|
env:
|
||||||
|
PACKAGE_NAME: ${{ matrix.package_name }}
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: packages_sdist
|
||||||
|
path: |
|
||||||
|
dist/*/*.tar.gz
|
||||||
|
|
||||||
|
env:
|
||||||
|
PSYCOPG2_TESTDB: postgres
|
||||||
|
PSYCOPG2_TESTDB_HOST: 172.17.0.1
|
||||||
|
PSYCOPG2_TESTDB_USER: postgres
|
||||||
|
PSYCOPG2_TESTDB_PASSWORD: password
|
||||||
|
PSYCOPG2_TEST_FAST: 1
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgresql:
|
||||||
|
image: postgres:13
|
||||||
|
env:
|
||||||
|
POSTGRES_PASSWORD: password
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
# Set health checks to wait until postgres has started
|
||||||
|
options: >-
|
||||||
|
--health-cmd pg_isready
|
||||||
|
--health-interval 10s
|
||||||
|
--health-timeout 5s
|
||||||
|
--health-retries 5
|
26
scripts/build/build_sdist.sh
Executable file
26
scripts/build/build_sdist.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
set -x
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
PRJDIR="$( cd "${DIR}/../.." && pwd )"
|
||||||
|
|
||||||
|
# Find psycopg version
|
||||||
|
export VERSION=$(grep -e ^PSYCOPG_VERSION setup.py | sed "s/.*'\(.*\)'/\1/")
|
||||||
|
# A gratuitous comment to fix broken vim syntax file: '")
|
||||||
|
export DISTDIR="${PRJDIR}/dist/psycopg2-$VERSION"
|
||||||
|
|
||||||
|
# Replace the package name
|
||||||
|
if [[ "${PACKAGE_NAME:-}" ]]; then
|
||||||
|
sed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
|
||||||
|
setup.py
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build the source package
|
||||||
|
python setup.py sdist -d "$DISTDIR"
|
||||||
|
|
||||||
|
# install and test
|
||||||
|
pip install "${DISTDIR}"/*.tar.gz
|
||||||
|
|
||||||
|
python -c "import tests; tests.unittest.main(defaultTest='tests.test_suite')"
|
Loading…
Reference in New Issue
Block a user