Update pyproject.toml: xonsh = ">=0.23" #84
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Testing | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| testing: | |
| strategy: | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| # - macos-latest | |
| # - windows-latest | |
| python-version: | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| - "3.14" | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| cache-dependency-path: 'pyproject.toml' | |
| - name: Install dependencies | |
| run: pip install ".[dev]" | |
| - name: Run tests | |
| run: pytest | |
| e2e-load: | |
| name: e2e (${{ matrix.package_manager.name }}, autoload=${{ matrix.autoloading }}) | |
| needs: testing | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| autoloading: ["true", "false"] | |
| package_manager: | |
| - { name: setuptools, install: 'pip install ".[dev]"', run: '' } | |
| - { name: poetry, install: 'poetry install --no-interaction', run: 'poetry run ' } | |
| - { name: uv, install: 'uv sync', run: 'uv run ' } | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Install poetry | |
| if: matrix.package_manager.name == 'poetry' | |
| run: pipx install poetry | |
| - name: Install uv | |
| if: matrix.package_manager.name == 'uv' | |
| uses: astral-sh/setup-uv@v6 | |
| - name: Install copier | |
| run: pip install 'copier>=9' copier-templates-extensions | |
| - name: Generate xontrib | |
| run: | | |
| copier copy --trust --defaults --vcs-ref=HEAD \ | |
| --data full_name=Test \ | |
| --data email=test@test.test \ | |
| --data github_username=test \ | |
| --data project_name=my-prompt \ | |
| --data project_short_description=test \ | |
| --data package_manager=${{ matrix.package_manager.name }} \ | |
| --data enable_autoloading=${{ matrix.autoloading }} \ | |
| . _generated | |
| - name: Install generated xontrib | |
| working-directory: _generated/xontrib-my-prompt | |
| run: ${{ matrix.package_manager.install }} | |
| - name: Verify autoloading | |
| if: matrix.autoloading == 'true' | |
| working-directory: _generated/xontrib-my-prompt | |
| run: | | |
| ${{ matrix.package_manager.run }}xonsh -c "xontrib list" | tee out.txt | |
| grep my_prompt out.txt | grep loaded | grep auto | |
| - name: Verify manual loading | |
| if: matrix.autoloading == 'false' | |
| working-directory: _generated/xontrib-my-prompt | |
| run: | | |
| ${{ matrix.package_manager.run }}xonsh -c 'xontrib load my_prompt; xontrib list' | tee out.txt | |
| grep my_prompt out.txt | grep loaded | grep manual |