Skip to content

Release 4.3.8

Release 4.3.8 #80

name: Pre-release PR
on:
pull_request:
branches:
- "master"
paths-ignore: # not always respected. See https://github.com/actions/runner/issues/2324#issuecomment-1703345084
- ".github/**"
- "**.md"
# creating a separate concurrency group for each PR
# so that our "PR checks" are always running for the latest commit in the PR
# and as PRs are updated we want to make sure "in progress" jobs are killed so we don't waste resources
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
preprod_test:
name: Pre-prod code testing
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@main
with:
submodules: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Find spawn.sh script version
run: egrep '^# Spawn Version:[0-9ab]+$' ./exegol/utils/imgsync/spawn.sh | cut -d ':' -f2
- name: Check for prod readiness of spawn.sh script version
run: egrep '^# Spawn Version:[0-9]+$' ./exegol/utils/imgsync/spawn.sh
- name: Check package version (alpha and beta version cannot be released)
run: python3 -c 'from exegol.config.ConstantConfig import ConstantConfig; print(ConstantConfig.version); exit(any(c in ConstantConfig.version for c in ["a", "b"]))'
code_test:
name: Python tests and checks
needs: preprod_test
uses: ./.github/workflows/sub_testing.yml
build:
name: Build Python 🐍 distributions
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
needs: code_test
steps:
- uses: actions/checkout@main
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install requirements
run: python -m pip install --user build virtualenv setuptools
- name: Cleaning
run : python setup.py clean
- name: Build Exegol
run: python -m build --sdist --outdir dist/ .
- name: Create testing venv
run: python -m venv vtest
- name: Install pip package
run: ./vtest/bin/pip install ./dist/*