From 6d2eb78c54f815349add4a4873632c8ca58e364e Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Sat, 19 Sep 2020 14:53:44 -0400 Subject: [PATCH] Migrate to github actions --- .github/workflows/dist.yml | 91 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 41 ----------------- docs/requirements.txt | 2 + 3 files changed, 93 insertions(+), 41 deletions(-) create mode 100644 .github/workflows/dist.yml delete mode 100644 .travis.yml create mode 100644 docs/requirements.txt diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml new file mode 100644 index 0000000..d6801dd --- /dev/null +++ b/.github/workflows/dist.yml @@ -0,0 +1,91 @@ +--- +name: dist + +on: [push, pull_request] + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: psf/black@stable + + check-doc: + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Sphinx + run: | + pip --disable-pip-version-check install -e . + pip --disable-pip-version-check install -r docs/requirements.txt + cd docs && make clean html SPHINXOPTS="-W --keep-going" + + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-latest, macos-latest, ubuntu-18.04] + python_version: [2.7, 3.5, 3.6, 3.7, 3.8] + architecture: [x86, x64] + exclude: + - os: macos-latest + architecture: x86 + - os: ubuntu-18.04 + architecture: x86 + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python_version }} + architecture: ${{ matrix.architecture }} + + - name: Install build dependencies + run: python -m pip --disable-pip-version-check install wheel + + - name: Build wheel + run: python setup.py bdist_wheel + + - name: Test wheel + shell: bash + run: | + cd dist + python -m pip --disable-pip-version-check install *.whl + cd ../test + python test_CppHeaderParser.py + + publish: + runs-on: ubuntu-latest + needs: [check, check-doc, test] + if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - run: pip --disable-pip-version-check install wheel + + - name: Build packages + run: python setup.py sdist bdist_wheel + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.PYPI_PASSWORD }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f31c480..0000000 --- a/.travis.yml +++ /dev/null @@ -1,41 +0,0 @@ -language: python -dist: xenial - -python: - - "3.7" - - "3.6" - - "3.5" - - "2.7" - - -jobs: - include: - - stage: format-check - python: "3.6" - install: - - pip install black - script: - - black --check --diff . - fast_finish: true - -# command to install dependencies -install: - - "pip install -e ." -# command to run tests -script: - - ./run_tests.sh -deploy: -- provider: pypi - user: $PYPI_USERNAME - password: $PYPI_PASSWORD - distributions: sdist bdist_wheel - on: - tags: true - python: "3.6" -notifications: - webhooks: - urls: - - https://webhooks.gitter.im/e/2fb1c026e64fdd70d27b - on_success: change - on_failure: always - on_start: never diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..07084c4 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,2 @@ +sphinx +sphinx-rtd-theme \ No newline at end of file