kivy/.github/workflows/manylinux_wheels.yml

132 lines
3.7 KiB
YAML
Raw Normal View History

Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
name: Manylinux wheels
on:
push:
pull_request:
create:
schedule:
- cron: '23 1 * * *'
env:
KIVY_SPLIT_EXAMPLES: 1
SERVER_IP: '159.203.106.198'
DOCKER_IMAGE: 'quay.io/pypa/manylinux2010_x86_64'
jobs:
manylinux_wheel_create:
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
runs-on: ubuntu-18.04
if: github.event_name == 'schedule' || (github.event_name == 'create' && github.event.ref_type == 'tag') || contains(github.event.head_commit.message, '[build wheel]') || contains(github.event.head_commit.message, '[build wheel linux]') || contains(github.event.pull_request.title, '[build wheel]') || contains(github.event.pull_request.title, '[build wheel linux]')
steps:
- uses: actions/checkout@v2
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
- name: Set up Python 3.x
uses: actions/setup-python@v2
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
with:
python-version: 3.x
- name: Generate version metadata
run: |
source .ci/ubuntu_ci.sh
update_version_metadata
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
- name: Make wheels
run: |
source .ci/ubuntu_ci.sh
generate_manylinux2010_wheels $DOCKER_IMAGE
- name: Upload wheels as artifact
2020-04-29 04:05:32 +00:00
uses: actions/upload-artifact@v2
with:
name: manylinux_wheels
path: dist
manylinux_wheel_upload_test:
runs-on: ubuntu-18.04
needs: manylinux_wheel_create
env:
DISPLAY: ':99.0'
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.x
2020-04-29 04:05:32 +00:00
- uses: actions/download-artifact@v2
with:
name: manylinux_wheels
2020-04-29 04:05:32 +00:00
path: dist
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
- name: Rename wheels
if: github.event.ref_type != 'tag'
run: |
source .ci/ubuntu_ci.sh
rename_wheels
- name: Upload wheels to server
if: github.event_name != 'pull_request'
env:
UBUNTU_UPLOAD_KEY: ${{ secrets.UBUNTU_UPLOAD_KEY }}
run: |
source .ci/ubuntu_ci.sh
upload_file_to_server "$SERVER_IP" "linux/kivy/"
- name: Upload to GitHub Release
uses: softprops/action-gh-release@78c309ef59fdb9557cd6574f2e0be552936ed728
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.github_release }}
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
with:
files: dist/*
draft: true
- name: Publish to PyPI
if: github.event_name == 'create' && github.event.ref_type == 'tag'
env:
TWINE_USERNAME: "__token__"
TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: |
source .ci/ubuntu_ci.sh
upload_artifacts_to_pypi
- name: Install dependencies
run: |
source .ci/ubuntu_ci.sh
install_kivy_test_run_apt_deps
install_kivy_test_wheel_run_pip_deps
- name: Setup env
run: |
source .ci/ubuntu_ci.sh
prepare_env_for_unittest
- name: Install Kivy
run: |
source .ci/ubuntu_ci.sh
install_kivy_manylinux_wheel
- name: Test Kivy
run: |
source .ci/ubuntu_ci.sh
test_kivy_install
sdist_test:
runs-on: ubuntu-18.04
env:
DISPLAY: ':99.0'
KIVY_SPLIT_EXAMPLES: 0
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Generate sdist
run: |
source .ci/ubuntu_ci.sh
generate_sdist
- name: Install dependencies
run: |
source .ci/ubuntu_ci.sh
install_kivy_test_run_apt_deps
install_kivy_test_wheel_run_pip_deps
- name: Setup env
run: |
source .ci/ubuntu_ci.sh
prepare_env_for_unittest
- name: Install Kivy
run: |
source .ci/ubuntu_ci.sh
install_kivy_sdist
- name: Test Kivy
run: |
source .ci/ubuntu_ci.sh
test_kivy_install