From 76afabd3ac08a33a745019c197a90fb507f72c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melissa=20Weber=20Mendon=C3=A7a?= Date: Tue, 28 Nov 2023 13:58:58 +0000 Subject: [PATCH] Add CircleCI config and GitHub workflow to redirect to CircleCI Appropriate tokens need to be set on the repo side. --- .circleci/config.yml | 47 +++++++++++++++++++++++++ .github/workflows/circleci_redirect.yml | 23 ++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 .circleci/config.yml create mode 100644 .github/workflows/circleci_redirect.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..db3a175 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,47 @@ +# Use the latest 2.1 version of CircleCI pipeline process engine. +# See: https://circleci.com/docs/2.0/configuration-reference +version: 2.1 + +# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects. +# See: https://circleci.com/docs/2.0/orb-intro/ +orbs: + # The python orb contains a set of prepackaged CircleCI configuration you can use repeatedly in your configuration files + # Orb commands and jobs help you with common scripting around a language/tool + # so you dont have to copy and paste it everywhere. + # See the orb documentation here: https://circleci.com/developer/orbs/orb/circleci/python + python: circleci/python@2.0.3 + +# Define a job to be invoked later in a workflow. +# See: https://circleci.com/docs/2.0/configuration-reference/#jobs +jobs: + build-docs: # This is the name of the job, feel free to change it to better match what you're trying to do! + # These next lines defines a Docker executors: https://circleci.com/docs/2.0/executor-types/ + # You can specify an image from Dockerhub or use one of the convenience images from CircleCI's Developer Hub + # A list of available CircleCI Docker convenience images are available here: https://circleci.com/developer/images/image/cimg/python + # The executor is the environment in which the steps below will be executed - below will use a python 3.10.2 container + # Change the version below to your required version of python + docker: + - image: cimg/python:3.10.2 + # Checkout the code as the first step. This is a dedicated CircleCI step. + # The python orb's install-packages step will install the dependencies from a Pipfile via Pipenv by default. + # Here we're making sure we use just use the system-wide pip. By default it uses the project root's requirements.txt. + # Then run your tests! + # CircleCI will report the results back to your VCS provider. + steps: + - checkout + - run: + name: Build docs + command: | + poetry install + python -m pip install sphinx pydata-sphinx-theme + cd docs; make html + - store_artifacts: + path: docs/_build/html/ + +# Invoke jobs via workflows +# See: https://circleci.com/docs/2.0/configuration-reference/#workflows +workflows: + docs: # This is the name of the workflow, feel free to change it to better match your workflow. + # Inside the workflow, you define the jobs you want to run. + jobs: + - build-docs diff --git a/.github/workflows/circleci_redirect.yml b/.github/workflows/circleci_redirect.yml new file mode 100644 index 0000000..d712710 --- /dev/null +++ b/.github/workflows/circleci_redirect.yml @@ -0,0 +1,23 @@ +# To enable this workflow on a fork, comment out: +# +# if: github.repository == 'numpy/numpy-financial' + +name: CircleCI artifact redirector + +on: [status] +jobs: + circleci_artifacts_redirector_job: + runs-on: ubuntu-latest + if: "github.event.context == 'ci/circleci: build-docs'" + permissions: + statuses: write + name: Run CircleCI artifacts redirector + steps: + - name: GitHub Action step + uses: larsoner/circleci-artifacts-redirector-action@master + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + api-token: ${{ secrets.CIRCLECI_TOKEN }} + artifact-path: 0/docs/_build/html/index.html + circleci-jobs: build-docs + job-title: Check the rendered docs here!