.github.workflows.launcher-test.yml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jython Show documentation
Show all versions of jython Show documentation
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
# Test launcher for Jython 2.7 (GitHub action)
# The motivation for the test was the mis-handling of JVM arguments
# in jython.py, but we take this excuse to run a few tests on macOS,
# where we don't currently run the regression test in full.
name: launcher test 2.7
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
permissions:
contents: read
jobs:
launcher-test-macos-jdk8:
runs-on: macos-12 # macos-latest (now >12) no longer installs Java 8
# Options at https://github.com/actions/runner-images
steps:
- run: echo "Branch ${{ github.ref }} of repository ${{ github.repository }}."
# Some tests require exactly-expected line endings
- run: git config --global core.autocrlf input
- uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
# We have to install Python 2.7 explicitly
# Simplified from https://github.com/LizardByte/setup-python-action specialised for MacOS
- name: Set up Python 2
shell: bash
run: |
python -V
# Install using pyenv
brew install pyenv
export PATH="$(pyenv root)/shims:$(pyenv root)/bin:$PATH"
pyenv install 2.7.18
pyenv global 2.7.18
# Get a 2.7 virtual environment
python -m pip install virtualenv
venv="/tmp/python27/venv"
python -m virtualenv ${venv}
source ${venv}/bin/activate
# Check we got the version we hoped for
echo "${venv}/bin" >> $GITHUB_PATH
python -V
- name: Build with Ant
run: ant -noinput -buildfile build.xml
- name: Show JVM arguments when launched by script
run: dist/bin/jython -c 'from java.lang.management import ManagementFactory; print ManagementFactory.getRuntimeMXBean().getInputArguments()'
- name: Show JVM arguments when launched by Python
run: |
python -V
python dist/bin/jython.py -c 'from java.lang.management import ManagementFactory; print ManagementFactory.getRuntimeMXBean().getInputArguments()'
- name: Regression tests for invocation of the interpreter with various command line arguments
run: dist/bin/jython -m test.test_cmd_line
- name: Regression tests for command line execution of scripts
run: |
python -V
python dist/bin/jython.py -m test.test_cmd_line_script
- name: Run Java tests with Ant
run: ant javatest-ci