mirror of https://github.com/KLayout/klayout.git
Merge branch 'master' of github.com:KLayout/klayout
This commit is contained in:
commit
41c136b6fc
|
|
@ -4,8 +4,11 @@ name: Build Python Wheels
|
|||
|
||||
on:
|
||||
pull_request:
|
||||
# Running on PRs is enough
|
||||
# push:
|
||||
# Running on PRs and main branch only
|
||||
# pull requests should be able to access cache from main branch
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
|
|
@ -49,7 +52,7 @@ jobs:
|
|||
HOST_CCACHE_DIR="$(ccache -k cache_dir)"
|
||||
mkdir -p $HOST_CCACHE_DIR
|
||||
- name: Build wheels # check https://cibuildwheel.readthedocs.io/en/stable/setup/#github-actions
|
||||
uses: pypa/cibuildwheel@v2.12.3
|
||||
uses: pypa/cibuildwheel@v2.13.0
|
||||
# to supply options, put them in 'env', like:
|
||||
# env:
|
||||
# CIBW_SOME_OPTION: value
|
||||
|
|
@ -71,15 +74,12 @@ jobs:
|
|||
with:
|
||||
path: ./wheelhouse/*.whl
|
||||
|
||||
# The following was taken from https://cibuildwheel.readthedocs.io/en/stable/deliver-to-pypi/
|
||||
# The following was taken from https://cibuildwheel.readthedocs.io/en/stable/deliver-to-pypi/
|
||||
make_sdist:
|
||||
name: Make SDist
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0 # Optional, use if you use setuptools_scm
|
||||
submodules: true # Optional, use if you have submodules
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build SDist
|
||||
run: pipx run build --sdist
|
||||
|
|
@ -102,7 +102,7 @@ jobs:
|
|||
with:
|
||||
user: __token__
|
||||
password: ${{ secrets.test_pypi_password }}
|
||||
repository_url: https://test.pypi.org/legacy/
|
||||
repository-url: https://test.pypi.org/legacy/
|
||||
|
||||
upload_to_pypi:
|
||||
needs: [build, make_sdist]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
name: cleanup caches by a branch
|
||||
# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries
|
||||
# Caches are very large and must be deleted to prioritize main branch's caches.
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
|
||||
jobs:
|
||||
cleanup:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cleanup
|
||||
run: |
|
||||
gh extension install actions/gh-actions-cache
|
||||
|
||||
REPO=${{ github.repository }}
|
||||
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
|
||||
|
||||
echo "Fetching list of cache key"
|
||||
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
|
||||
|
||||
## Setting this to not fail the workflow while deleting cache keys.
|
||||
set +e
|
||||
echo "Deleting caches..."
|
||||
for cacheKey in $cacheKeysForPR
|
||||
do
|
||||
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
|
||||
done
|
||||
echo "Done"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
@ -1,29 +1,40 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
# Generates LVS and DRC documentation
|
||||
# Generates pyi stubs
|
||||
#
|
||||
# Run this script from a valid build below the repository root, e.g.
|
||||
# <repo-root>/build-debug. It needs to have a "pymod" installation in
|
||||
# <repo-root>/build-debug. It needs to have a "pymod" installation in
|
||||
# current directory.
|
||||
|
||||
inst=$(realpath $(dirname $0))
|
||||
scripts=${inst}/drc_lvs_doc
|
||||
ld=$(realpath .)
|
||||
|
||||
pymod="$ld/pymod"
|
||||
## Detect if klayout pymod libraries are installed
|
||||
python=
|
||||
for try_python in python python3; do
|
||||
if $try_python -c "import klayout.tl" >/dev/null 2>&1; then
|
||||
python=$try_python
|
||||
fi
|
||||
done
|
||||
|
||||
export LD_LIBRARY_PATH=$ld
|
||||
export PYTHONPATH=$pymod
|
||||
if [ "$python" = "" ]; then
|
||||
echo "*** Searching for pymod..."
|
||||
|
||||
pymod_src=$ld/../src/pymod
|
||||
if ! [ -e $pymod_src ]; then
|
||||
echo "*** ERROR: missing pymod sources ($pymod_src) - did you run the script from the build folder below the source tree?"
|
||||
exit 1
|
||||
fi
|
||||
ld=$(realpath .)
|
||||
pymod="$ld/pymod"
|
||||
|
||||
if ! [ -e $pymod ]; then
|
||||
echo "*** ERROR: missing pymod folder ($pymod) - did you run the script from the build folder?"
|
||||
exit 1
|
||||
export LD_LIBRARY_PATH=$ld
|
||||
export PYTHONPATH=$pymod
|
||||
|
||||
pymod_src=$ld/../src/pymod
|
||||
if ! [ -e $pymod_src ]; then
|
||||
echo "*** ERROR: missing pymod sources ($pymod_src) - did you run the script from the build folder below the source tree?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [ -e $pymod ]; then
|
||||
echo "*** ERROR: missing pymod folder ($pymod) - did you run the script from the build folder?"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
python=
|
||||
|
|
@ -38,20 +49,21 @@ if [ "$python" = "" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
pyi_srcdir="$inst/../src/pymod/distutils_src/klayout"
|
||||
|
||||
echo "Generating stubs for tl .."
|
||||
$python $inst/stubgen.py tl >$pymod_src/distutils_src/klayout/tlcore.pyi
|
||||
$python $inst/stubgen.py tl >$pyi_srcdir/tlcore.pyi
|
||||
|
||||
echo "Generating stubs for db .."
|
||||
$python $inst/stubgen.py db tl >$pymod_src/distutils_src/klayout/dbcore.pyi
|
||||
$python $inst/stubgen.py db tl >$pyi_srcdir/dbcore.pyi
|
||||
|
||||
echo "Generating stubs for rdb .."
|
||||
$python $inst/stubgen.py rdb tl,db >$pymod_src/distutils_src/klayout/rdbcore.pyi
|
||||
$python $inst/stubgen.py rdb tl,db >$pyi_srcdir/rdbcore.pyi
|
||||
|
||||
echo "Generating stubs for lay .."
|
||||
$python $inst/stubgen.py lay tl,db,rdb >$pymod_src/distutils_src/klayout/laycore.pyi
|
||||
$python $inst/stubgen.py lay tl,db,rdb >$pyi_srcdir/laycore.pyi
|
||||
|
||||
echo "Generating stubs for lib .."
|
||||
$python $inst/stubgen.py lib tl,db >$pymod_src/distutils_src/klayout/libcore.pyi
|
||||
$python $inst/stubgen.py lib tl,db >$pyi_srcdir/libcore.pyi
|
||||
|
||||
echo "Done."
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue