klayout/ci-scripts/docker
Joaquin Matres 04e5b8d8d2 add ci/cd for github actions (#1070)
* add ci/cd for github actions

* fix workflow and add workflow_dispatch

* remove dist

* fix

* add gcc

* sudo apt install build essential

* add curl

* install curl

* build essential

* update

* test code on mac os

* release on tagged version

* better names

* fix numbers for 3.10

* add cancel workflow for tests

* fix test macOs

* Adding ccache to github action

* creating dependency between jobs

* using cibuildwheel

* ccache path bug

* Testing after building wheels

* misunderstood cibuildwheel

* fixing error in manylinux build

* fixing error in manylinux build (2)

* disabling fail fast (temporary)

* Don't repair macOS wheels

* Not building pypy wheels

* disabling 32-bit linux wheels

* macos-latest only (prevent duplicate)

* fixing musllinux

* fixing ccache

* fixing cache persistence

* adding deploy job

* last debug

Co-authored-by: Thomas Ferreira de Lima <github@tlima.me>
2022-05-11 18:44:07 +02:00
..
development_notes Adding documentation regarding manylinux, CI, and PyPI wheels 2018-12-20 16:10:55 -05:00
README.md Adding documentation regarding manylinux, CI, and PyPI wheels 2018-12-20 16:10:55 -05:00
docker_build.sh Using recent auditwheel program as the original one does not support manylinux2014 2021-05-01 20:09:30 +02:00
docker_build_jenkins.sh Using Jenkins for PyPI deployment. Travis stopped their generous open source support 2021-10-30 18:45:44 +02:00
docker_prepare.sh add ci/cd for github actions (#1070) 2022-05-11 18:44:07 +02:00

README.md

Author: Thomas Ferreira de Lima email: thomas@tlima.me

This folder contains scripts to be run inside docker images. See instructions on how to test this yourself in ci-scripts/docker/development_notes.

docker_build.sh

We need two environment variables to get going:

DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
PY_VERSION="cp37-cp37m"

The script must be run inside an image pulled from $DOCKER_IMAGE and with klayout's git repo cloned in /io. Inside the git clone folder, run:

docker run --rm -e DOCKER_IMAGE -e PY_VERSION -v `pwd`:/io $DOCKER_IMAGE $PRE_CMD "/io/ci-scripts/docker/docker_build.sh";
# $PRE_CMD is empty for now (useless currently).

This command will generate a wheel and place it in wheelhouse/klayout-*manylinux1*.whl. This is the wheel that needs to be uploaded to PyPI via twine. See ci-scripts/twine/README.md.