Bump @types/vscode from 1.84.1 to 1.96.0 #813
This file contains 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: CI | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
jobs: | |
format: | |
name: Ensure code is properly formatted | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- run: | | |
pip install --upgrade poetry | |
poetry install | |
poetry run ruff format --check --diff . | |
ci: | |
name: Run the integration tests | |
runs-on: "ubuntu-latest" | |
container: | |
image: registry.opensuse.org/opensuse/tumbleweed | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- run: | | |
sed -i 's|rpm\.install\.excludedocs = yes|rpm\.install\.excludedocs = no|' /etc/zypp/zypp.conf | |
zypper -n ref | |
# reinstall rpm to get spec.md | |
zypper -n in -f rpm | |
# python3 required for sqlite3 module | |
# git required for codecov | |
zypper -n in python3-pipx python3-rpm python3 git | |
- run: pipx install poetry | |
env: | |
PIPX_BIN_DIR: /usr/bin | |
- run: poetry install | |
- run: poetry run pytest -vv | |
- run: | | |
poetry run coverage run -m pytest -vv | |
poetry run coverage combine || : | |
poetry run coverage report -m | |
poetry run coverage xml | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v5 | |
with: | |
fail_ci_if_error: false | |
build: | |
name: Build the package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Run the build | |
run: | | |
pip install --upgrade poetry | |
poetry install | |
poetry build | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: wheel | |
path: dist/rpm_spec_language_server*whl | |
if-no-files-found: error | |
install: | |
name: Install the package | |
runs-on: "ubuntu-latest" | |
needs: build | |
container: | |
image: registry.opensuse.org/opensuse/tumbleweed | |
steps: | |
- run: | | |
sed -i 's|rpm\.install\.excludedocs = yes|rpm\.install\.excludedocs = no|' /etc/zypp/zypp.conf | |
zypper -n ref | |
# reinstall rpm to get spec.md | |
zypper -n in -f rpm | |
# python3 required for sqlite3 module | |
zypper -n in python3-pip python3-rpm python3 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: wheel | |
path: dist | |
- name: install the wheel | |
run: pip install --break-system-packages dist/rpm_spec_language_server*whl | |
- name: run a smoke test that the package has been installed | |
run: | | |
python3 -c "import rpm_spec_language_server; print(rpm_spec_language_server.__name__)" | |
python3 -m rpm_spec_language_server --help | |
documentation: | |
name: Build the documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- run: pip install --upgrade poetry | |
- run: | | |
poetry install | |
poetry run sphinx-build -M html source build -W | |
- name: upload the build directory | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build | |
path: ./build/html | |
deploy: | |
name: deploy to the gh-pages branch | |
runs-on: ubuntu-latest | |
needs: documentation | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: build | |
path: ./build | |
- run: touch ./build/.nojekyll | |
- name: deploy to github pages | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
branch: gh-pages | |
folder: build | |
lint: | |
name: Lint the source code | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
# FIXME: temporary fix to python 3.11 to avoid a: | |
# AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? | |
# when launching pylint with python 3.12 | |
python-version: '3.11' | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- run: | | |
pip install --upgrade poetry | |
poetry install | |
# grab the previously built wheel for checking with twine | |
# FIXME: implement twine check | |
- uses: actions/download-artifact@v4 | |
with: | |
name: wheel | |
path: dist | |
- run: poetry run mypy rpm_spec_language_server/ | |
- run: poetry run twine check dist/*whl | |
- run: poetry run ruff check |