diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14b608c4..bc52be6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,210 +10,34 @@ on: jobs: - tests: - name: Run unit testing suite - - env: - MP_API_KEY: ${{ secrets.MP_API_KEY }} - - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macOS-latest] - python-version: [3.9, '3.10', 3.11] - - steps: - - - uses: actions/checkout@v3 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - - name: Install testing dependencies - run: | - bash scripts/install.sh - bash scripts/install.sh test - - - name: Run tests - run: | - pytest -v --cov --cov-report xml lightshow/_tests - - - name: Upload code coverage - uses: codecov/codecov-action@v2 - timeout-minutes: 10 - with: - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: false - - black: - name: Run Black code quality check - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - uses: rickstaa/action-black@v1 - with: - black_args: "lightshow/ --check" - fail_on_error: "true" - - flake8_py3: - name: Run flake8 code quality check - - runs-on: ubuntu-latest - - steps: - - - uses: actions/checkout@v3 - - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - - name: Install flake8 - run: pip install flake8 - - - name: Run flake8 - uses: suo/flake8-github-action@releases/v1 - with: - checkName: 'flake8_py3' # NOTE: this needs to be the same as the job name - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - check_semantic_version_placeholder: - name: Check semantic version placeholder exists in the __init__ - - runs-on: ubuntu-latest - - steps: - - - uses: actions/checkout@v3 - - - name: Check lines exist - run: | - grep -x "__version__ = ... # semantic-version-placeholder" lightshow/__init__.py - - docs: - name: Build documentation test + build_and_publish: + # This workflow follows the best practices outlined here: + # https://github.com/marketplace/actions/pypi-publish + # for deploying a project to PyPI via a GH action. It only runs on tags + name: Upload release to PyPI + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/project/lightshow/ + permissions: + id-token: write steps: - name: Checkout uses: actions/checkout@v3 - ########################################################################### - # Getting the tags like this is REQUIRED for the dynamic versioning - # system to work properly - - name: Get tags - if: "! startsWith(github.ref, 'refs/tags')" - run: git fetch --unshallow --tags - ########################################################################### - - name: Set up Python 3.9 uses: actions/setup-python@v2 with: python-version: 3.9 - - name: Install and build - run: bash scripts/build_docs.sh - - # build_and_publish: - # # This workflow follows the best practices outlined here: - # # https://github.com/marketplace/actions/pypi-publish - # # for deploying a project to PyPI via a GH action. It only runs on tags - - # name: Upload release to PyPI - # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') - # runs-on: ubuntu-latest - # environment: - # name: pypi - # url: https://pypi.org/project/lightshow/ - # permissions: - # id-token: write - - # # needs: - # # - tests - # # - black - # # - flake8_py3 - # # - check_semantic_version_placeholder - # # - docs - - # steps: - - # - name: Checkout - # uses: actions/checkout@v3 - - # - name: Set up Python 3.9 - # uses: actions/setup-python@v2 - # with: - # python-version: 3.9 - - # - name: Build and apply version - # run: bash scripts/build_project.sh + - name: Build and apply version + run: bash scripts/build_project.sh - # - name: Publish package distributions to PyPI - # uses: pypa/gh-action-pypi-publish@release/v1 - # with: - # repository-url: https://upload.pypi.org/legacy/ - - # build_and_publish_docs: - # name: Build and publish documentation via GitHub Pages - - # environment: - # name: github-pages - # url: ${{ steps.deployment.outputs.page_url }} - - # # Only allow tagged commits - # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') - - # needs: - # - tests - # - black - # - flake8_py3 - # - check_semantic_version_placeholder - # - docs - # - build_and_publish - - # # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages - # permissions: - # contents: read - # pages: write - # id-token: write - - # # Allow one concurrent deployment - # concurrency: - # group: "pages" - # cancel-in-progress: true - - # runs-on: ubuntu-latest - - # steps: - - # - name: Checkout - # uses: actions/checkout@v3 - - # - name: Set up Python 3.9 - # uses: actions/setup-python@v2 - # with: - # python-version: 3.9 - - # - name: Build and apply version - # run: | - # bash scripts/build_docs.sh - - # - name: Setup Pages - # uses: actions/configure-pages@v2 - - # - name: Upload artifact - # uses: actions/upload-pages-artifact@v1 - # with: - # path: 'docs/build/html/' - - # - name: Deploy to GitHub Pages - # id: deployment - # uses: actions/deploy-pages@v1 + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + repository-url: https://upload.pypi.org/legacy/ diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 7898f750..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Publish - -# Run on all PR's and on pushes/merges to deploy and master -on: - push: - tags: ["v*"] - -jobs: - - build_and_publish: - # This workflow follows the best practices outlined here: - # https://github.com/marketplace/actions/pypi-publish - # for deploying a project to PyPI via a GH action. It only runs on tags - - name: Upload release to PyPI - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') - runs-on: ubuntu-latest - environment: - name: pypi - url: https://pypi.org/project/lightshow/ - permissions: - id-token: write - - steps: - - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up Python 3.9 - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - - name: Build and apply version - run: bash scripts/build_project.sh - - - name: Publish package distributions to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - repository-url: https://upload.pypi.org/legacy/