diff --git a/.github/workflows/deploy-mystmd.yml b/.github/workflows/deploy-mystmd.yml new file mode 100644 index 0000000..1275023 --- /dev/null +++ b/.github/workflows/deploy-mystmd.yml @@ -0,0 +1,72 @@ +# This file was created automatically with `myst init --gh-pages` 🪄 💚 + +name: MyST GitHub Pages Deploy +on: + push: + branches: + - main + paths: + - 'docs/**' + - '.github/workflows/deploy-mystmd.yml' + pull_request: + branches: + - main + paths: + - 'docs/**' + - '.github/workflows/deploy-mystmd.yml' + workflow_dispatch: + +env: + # `BASE_URL` determines the website is served from, including CSS & JS assets + # You may need to change this to `BASE_URL: ''` + BASE_URL: '' + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: 'pages' + cancel-in-progress: false +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v3 + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Install MyST Markdown + run: npm install -g mystmd + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Build MyST Markdown + run: | + chmod +x ./docs/build.sh + bash ./docs/build.sh + env: + GA_TRACKING_ID: ${{ secrets.GA_TRACKING_ID }} + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: './docs/_build/html' + + deploy: + environment: + name: github-pages + # This will dynamically generate the deployment URL + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9c1b6bc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,35 @@ +name: Publish Python Package + +on: + push: + tags: + - 'v*.*.*' # Trigger the workflow on push of tags like v1.0.0 + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: write + pages: write + id-token: write + +jobs: + build-and-publish: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install poetry + run: pip install poetry + + - name: Build and publish to PyPI + env: + PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }} + run: | + poetry config pypi-token.pypi $PYPI_API_TOKEN + poetry build + poetry publish diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index fd068ef..15424ff 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -88,4 +88,3 @@ def your_plot( For a full example, see the function `candlestick_plot()` in `pfund_plot/plots/candlestick.py`. It is a standard way to make a plot using hvplot, and pn.state.add_periodic_callback() to make the plot streaming. -