Commit ff2c34ab by Bjorn Neergaard Committed by GitHub

FreeBSD Testing / Release Automation

* adds preliminary FreeBSD test and release automation
* converts build script to be more unified/portable
* does not support caching; issues with symlinks when using built-in cache
* does not not include FreeBSD artifact upload
* adds annotations for failed FreeBSD tests
parent 3ec44ed0
freebsd_instance:
image_family: freebsd-12-1-snap
test_task:
name: "Tests / FreeBSD / "
env:
matrix:
- PYTHON: python2.7
- PYTHON: python3.5
- PYTHON: python3.6
- PYTHON: python3.7
- PYTHON: python3.8
python_script:
- PYPACKAGE=$(printf '%s' $PYTHON | tr -d '.')
- SQLPACKAGE=$(printf '%s-sqlite3' $PYPACKAGE | sed 's/thon//')
- pkg install -y git-lite $PYPACKAGE $SQLPACKAGE
pip_script:
- $PYTHON -m ensurepip
- $PYTHON -m pip install pip -U
- $PYTHON -m pip install poetry -U --pre
- $PYTHON -m poetry config virtualenvs.in-project true
deps_script: $PYTHON -m poetry install
test_script: $PYTHON -m poetry run pytest -q --junitxml=junit.xml tests
on_failure:
annotate_failure_artifacts:
path: junit.xml
format: junit
type: text/xml
release_task:
name: "Release / FreeBSD"
only_if: $CIRRUS_TAG != ''
freebsd_instance:
matrix:
- image_family: freebsd-12-1-snap
- image_family: freebsd-11-3-snap
python_script: pkg install -y python3 python27 python35 python36 python37 python38
pip_script:
- python2.7 -m ensurepip
- python3.5 -m ensurepip
- python3.6 -m ensurepip
- python3.7 -m ensurepip
- python3.8 -m ensurepip
build_script: ./make-nix-release.sh
archive_artifacts:
path: "releases/*"
......@@ -48,7 +48,14 @@ wheel:
linux_release:
docker pull quay.io/pypa/manylinux2010_x86_64
docker run --rm -i -v `pwd`:/io quay.io/pypa/manylinux2010_x86_64 /io/make-linux-release.sh
docker run --rm -i -v `pwd`:/io \
-e PYTHON=/opt/python/cp37-cp37m/bin/python \
-e PYTHON27=/opt/python/cp27-cp27m/bin/python \
-e PYTHON35=/opt/python/cp35-cp35m/bin/python \
-e PYTHON36=/opt/python/cp36-cp36m/bin/python \
-e PYTHON37=/opt/python/cp37-cp37m/bin/python \
-e PYTHON38=/opt/python/cp38-cp38/bin/python \
quay.io/pypa/manylinux2010_x86_64 sh -c "cd /io && ./make-nix-release.sh"
# run tests against all supported python versions
tox:
......
#!/bin/bash
PYTHON_VERSIONS="cp27-cp27m cp35-cp35m cp36-cp36m cp37-cp37m cp38-cp38"
cd /io
/opt/python/cp37-cp37m/bin/pip install pip -U
/opt/python/cp37-cp37m/bin/pip install poetry -U --pre
/opt/python/cp37-cp37m/bin/poetry config virtualenvs.create false
/opt/python/cp37-cp37m/bin/poetry install --no-dev
/opt/python/cp37-cp37m/bin/python sonnet make release --ansi \
-P "2.7:/opt/python/cp27-cp27m/bin/python" \
-P "3.5:/opt/python/cp35-cp35m/bin/python" \
-P "3.6:/opt/python/cp36-cp36m/bin/python" \
-P "3.7:/opt/python/cp37-cp37m/bin/python" \
-P "3.8:/opt/python/cp38-cp38/bin/python"
cd -
#!/bin/sh
set -e
test -n "$PYTHON" || PYTHON="python3"
$PYTHON -m pip install pip -U
$PYTHON -m pip install poetry -U --pre
$PYTHON -m poetry config virtualenvs.create false
$PYTHON -m poetry install --no-dev
$PYTHON sonnet make release \
${PYTHON27:+-P "2.7:$PYTHON27"} \
${PYTHON35:+-P "3.5:$PYTHON35"} \
${PYTHON36:+-P "3.6:$PYTHON36"} \
${PYTHON37:+-P "3.7:$PYTHON37"} \
${PYTHON38:+-P "3.8:$PYTHON38"}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment