Skip to content

Bump @vscode/vsce from 3.0.0 to 3.1.0 #633

Bump @vscode/vsce from 3.0.0 to 3.1.0

Bump @vscode/vsce from 3.0.0 to 3.1.0 #633

Workflow file for this run

---
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@v4
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