Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 30 additions & 20 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ on:
schedule:
- cron: "0 19 * * SUN"

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
NODE_VERSION: "24"
PACKAGE: "panel"
Expand All @@ -30,21 +36,21 @@ jobs:
name: Pixi lock
runs-on: ubuntu-latest
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_lock@v0
- uses: holoviz-dev/holoviz_tasks/pixi-lock@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1

conda_build:
name: Build Conda
needs: [pixi_lock]
runs-on: "ubuntu-latest"
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_install@v0
- uses: holoviz-dev/holoviz_tasks/pixi-install@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1
with:
environments: "build"
install: false
download-data: false
- name: conda build
run: pixi run -e build build-conda
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: artifacts-conda
Expand All @@ -59,7 +65,7 @@ jobs:
needs: [conda_build, waiting_room]
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: artifacts-conda
path: dist/
Expand All @@ -81,14 +87,14 @@ jobs:
needs: [pixi_lock]
runs-on: "ubuntu-latest"
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_install@v0
- uses: holoviz-dev/holoviz_tasks/pixi-install@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1
with:
environments: "build"
install: false
download-data: false
- name: Build package
run: pixi run -e build build-pip
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: artifacts-pip
Expand All @@ -104,10 +110,10 @@ jobs:
runs-on: "ubuntu-latest"
needs: [pip_build]
steps:
- uses: actions/setup-python@v6
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: artifacts-pip
path: dist/
Expand All @@ -124,19 +130,19 @@ jobs:
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: artifacts-pip
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1

npm_build:
name: Build NPM
needs: [pixi_lock]
runs-on: "ubuntu-latest"
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_install@v0
- uses: holoviz-dev/holoviz_tasks/pixi-install@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1
with:
environments: "build"
download-data: false
Expand All @@ -149,7 +155,7 @@ jobs:
cd $PACKAGE
npm publish --dry-run $TARBALL
cd ..
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: artifacts-npm
Expand All @@ -167,13 +173,14 @@ jobs:
id-token: write
contents: read
steps:
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: artifacts-npm
- uses: actions/setup-node@v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: ${{ env.NODE_VERSION }}
registry-url: "https://registry.npmjs.org"
package-manager-cache: false
- name: npm dev deploy
if: contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc')
run: |
Expand All @@ -188,7 +195,7 @@ jobs:
needs: [pixi_lock]
runs-on: "ubuntu-latest"
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_install@v0
- uses: holoviz-dev/holoviz_tasks/pixi-install@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1
with:
environments: "build"
install: false
Expand All @@ -199,7 +206,7 @@ jobs:
- name: build CDN
run: |
pixi run build-pip
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: cdn
Expand All @@ -214,10 +221,11 @@ jobs:
needs: [cdn_build, waiting_room]
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: "1"
- uses: actions/download-artifact@v8
persist-credentials: false
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: cdn
path: panel/
Expand All @@ -238,8 +246,10 @@ jobs:
env:
TAG: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
pattern: artifacts-*
path: artifacts/
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ defaults:
run:
shell: bash -e {0}

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
DISPLAY: ":99.0"

Expand All @@ -33,21 +39,21 @@ jobs:
name: Pixi lock
runs-on: ubuntu-latest
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_lock@v0
- uses: holoviz-dev/holoviz_tasks/pixi-lock@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1

docs_build:
name: Build Documentation
needs: [pixi_lock]
runs-on: "macos-latest"
timeout-minutes: 180
steps:
- uses: holoviz-dev/holoviz_tasks/pixi_install@v0
- uses: holoviz-dev/holoviz_tasks/pixi-install@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1
with:
environments: docs
opengl: true
- name: Build documentation
run: pixi run -e docs docs-build
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: docs
Expand All @@ -59,12 +65,12 @@ jobs:
runs-on: "ubuntu-latest"
needs: [docs_build]
steps:
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: docs
path: builtdocs/
- name: Deploy dev
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
if: |
(github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'dev') ||
(github.event_name == 'push' && (contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc')))
Expand All @@ -74,7 +80,7 @@ jobs:
publish_dir: ./builtdocs
force_orphan: true
- name: Deploy main
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
if: |
(github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'main') ||
(github.event_name == 'push' && !(contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc')))
Expand Down
33 changes: 19 additions & 14 deletions .github/workflows/downstream_tests.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
name: downstream_tests

on:
# Run this workflow after the build workflow has completed.
workflow_run:
workflow_run: # zizmor: ignore[dangerous-triggers]
workflows: [packages]
types: [completed]
# Or by triggering it manually via Github's UI
workflow_dispatch:
inputs:
manual:
description: don't change me!
type: boolean
required: true
default: true

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
downstream_tests:
uses: holoviz-dev/holoviz_tasks/.github/workflows/run_downstream_tests.yaml@main
with:
downstream_repos_as_json: "{\"downstream_repo\":[\"holoviews\", \"lumen\"]}"
secrets:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
name: Run downstream tests
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
strategy:
matrix:
downstream_repo: [holoviews, lumen]
fail-fast: false
steps:
- uses: holoviz-dev/holoviz_tasks/downstream-tests@ffddda04b2894fea39b407f64d3622d2f19e5a9f # v1
with:
downstream_repo: ${{ matrix.downstream_repo }}
github_token: ${{ secrets.ACCESS_TOKEN }}
29 changes: 20 additions & 9 deletions .github/workflows/gallery.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
name: gallery

on:
workflow_run:
workflow_run: # zizmor: ignore[dangerous-triggers]
workflows: [packages]
types:
- completed
workflow_dispatch:
inputs:
target:
description: 'Build and deploy gallery'
description: "Build and deploy gallery"
type: choice
options:
- dev
- main
- dryrun
- dev
- main
- dryrun
required: true
default: dryrun

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
deploy_gallery:
name: Gallery
Expand All @@ -26,17 +32,18 @@ jobs:
shell: bash -el {0}
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
- name: Set and echo git ref
id: vars
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
echo "Deploying from ref $HEAD_BRANCH"
echo "tag=$HEAD_BRANCH" >> $GITHUB_OUTPUT
- uses: conda-incubator/setup-miniconda@v3
- uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4
with:
miniconda-version: "latest"
auto-update-conda: true
Expand All @@ -60,12 +67,14 @@ jobs:
(github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'dev') ||
(github.event_name == 'workflow_run' && (contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc')))
)
env:
TAG: ${{ steps.vars.outputs.tag || '0.0.1dev' }}
run: |
conda activate test
ae5 login --hostname holoviz-demo.anaconda.com --username ${{ secrets.AE5_USERNAME }} --password ${{ secrets.AE5_PASSWORD }}
ae5 deployment stop panel-gallery-dev --yes || :
ae5 project delete panel-gallery-dev --yes || :
ae5 project upload examples/gallery --name panel-gallery-dev --tag ${{ steps.vars.outputs.tag || '0.0.1dev' }}
ae5 project upload examples/gallery --name panel-gallery-dev --tag "${TAG}"
ae5 deployment start panel-gallery-dev --endpoint panel-gallery-dev --command dev --public --resource-profile large --wait
- name: Upload and deploy prod gallery
if: |
Expand All @@ -74,10 +83,12 @@ jobs:
(github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'main') ||
(github.event_name == 'workflow_run' && !(contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc')) && contains(steps.vars.outputs.tag, 'v'))
)
env:
TAG: ${{ steps.vars.outputs.tag }}
run: |
conda activate test
ae5 login --hostname holoviz-demo.anaconda.com --username ${{ secrets.AE5_USERNAME }} --password ${{ secrets.AE5_PASSWORD }}
ae5 deployment stop panel-gallery --yes || :
ae5 project delete panel-gallery --yes || :
ae5 project upload examples/gallery --name panel-gallery --tag ${{ steps.vars.outputs.tag }}
ae5 project upload examples/gallery --name panel-gallery --tag "${TAG}"
ae5 deployment start panel-gallery --endpoint panel-gallery --command prod --public --resource-profile extra_large --wait
Loading
Loading