Skip to content

Commit

Permalink
Complete workflow with new no-token auth from PyPI
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewcarbone committed Sep 29, 2023
1 parent 9134d60 commit 52a8242
Showing 1 changed file with 141 additions and 185 deletions.
326 changes: 141 additions & 185 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,161 +10,117 @@ on:

jobs:

# tests:
# name: Run unit testing suite
tests:
name: Run unit testing suite

# env:
# MP_API_KEY: ${{ secrets.MP_API_KEY }}
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]
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:
steps:

# - uses: actions/checkout@v3
- uses: actions/checkout@v3

# - name: Setup Python
# uses: actions/setup-python@v2
# with:
# python-version: 3.9
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

# - name: Install flake8
# run: pip install flake8
- name: Install testing dependencies
run: |
bash scripts/install.sh
bash scripts/install.sh test
# - 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 }}
- name: Run tests
run: |
pytest -v --cov --cov-report xml lightshow/_tests
# check_semantic_version_placeholder:
# name: Check semantic version placeholder exists in the __init__
- name: Upload code coverage
uses: codecov/codecov-action@v2
timeout-minutes: 10
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false

# runs-on: ubuntu-latest
black:
name: Run Black code quality check

# steps:
runs-on: ubuntu-latest

# - uses: actions/checkout@v3
steps:
- uses: actions/checkout@v3
- uses: rickstaa/action-black@v1
with:
black_args: "lightshow/ --check"
fail_on_error: "true"

# - name: Check lines exist
# run: |
# grep -x "__version__ = ... # semantic-version-placeholder" lightshow/__init__.py
flake8_py3:
name: Run flake8 code quality check

# docs:
# name: Build documentation test
runs-on: ubuntu-latest

# runs-on: ubuntu-latest
steps:

# steps:
- uses: actions/checkout@v3

# - name: Checkout
# uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.9

# ###########################################################################
# # 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: Install flake8
run: pip install flake8

# - name: Set up Python 3.9
# uses: actions/setup-python@v2
# with:
# python-version: 3.9
- 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 }}

# - name: Install and build
# run: bash scripts/build_docs.sh
check_semantic_version_placeholder:
name: Check semantic version placeholder exists in the __init__

# build_and_publish_to_test_server:
# name: Build and publish to testing PyPI
runs-on: ubuntu-latest

# # Only allow on master, requires review before workflow executes
# environment: test_deploy
steps:

# # Only allow on pushes
# if: github.event_name == 'push' && ! startsWith(github.ref, 'refs/tags')
- uses: actions/checkout@v3

# needs:
# - tests
# - black
# - flake8_py3
# - check_semantic_version_placeholder
# - docs
- name: Check lines exist
run: |
grep -x "__version__ = ... # semantic-version-placeholder" lightshow/__init__.py
# runs-on: ubuntu-latest
docs:
name: Build documentation test

# steps:
runs-on: ubuntu-latest

# - name: Checkout
# uses: actions/checkout@v3
steps:

# ###########################################################################
# # Getting the tags like this is REQUIRED for the dynamic versioning
# # system to work properly
# - name: Get tags
# run: git fetch --unshallow --tags
# ###########################################################################
- name: Checkout
uses: actions/checkout@v3

# - name: Set up Python 3.9
# uses: actions/setup-python@v2
# with:
# python-version: 3.9
###########################################################################
# 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: Build and apply version
# run: bash scripts/build_project.sh
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9

# - name: Publish distribution to Test PyPI
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# password: ${{ secrets.TEST_PYPI_API_TOKEN }}
# repository_url: https://test.pypi.org/legacy/
- name: Install and build
run: bash scripts/build_docs.sh

build_and_publish:
# This workflow follows the best practices outlined here:
Expand All @@ -180,12 +136,12 @@ jobs:
permissions:
id-token: write

# needs:
# - tests
# - black
# - flake8_py3
# - check_semantic_version_placeholder
# - docs
needs:
- tests
- black
- flake8_py3
- check_semantic_version_placeholder
- docs

steps:

Expand All @@ -205,59 +161,59 @@ jobs:
with:
repository-url: https://upload.pypi.org/legacy/

# build_and_publish_docs:
# name: Build and publish documentation via GitHub Pages
build_and_publish_docs:
name: Build and publish documentation via GitHub Pages

# environment:
# name: github-pages
# url: ${{ steps.deployment.outputs.page_url }}
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
# 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

0 comments on commit 52a8242

Please sign in to comment.