Skip to content

Commit 644fead

Browse files
Migrating the code
0 parents  commit 644fead

File tree

183 files changed

+49466
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+49466
-0
lines changed

.copier-answers.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2+
_commit: v4.3.7
3+
_src_path: https://github.com/jupyterlab/extension-template
4+
author_email: scheduler-plugins@google.com
5+
author_name: Google
6+
has_binder: true
7+
has_settings: true
8+
kind: server
9+
labextension_name: scheduler-jupyter-plugin
10+
project_short_description: A JupyterLab extension.
11+
python_name: scheduler_jupyter_plugin
12+
repository: https://github.com/harsha-accenture/scheduler-jupyter-plugin.git
13+
test: true

.github/workflows/binder-on-pr.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Binder Badge
2+
on:
3+
pull_request_target:
4+
types: [opened]
5+
6+
jobs:
7+
binder:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
pull-requests: write
11+
steps:
12+
- uses: jupyterlab/maintainer-tools/.github/actions/binder-link@v1
13+
with:
14+
github_token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/build.yml

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: main
6+
pull_request:
7+
branches: '*'
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Base Setup
22+
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
23+
24+
- name: Install dependencies
25+
run: python -m pip install -U "jupyterlab>=4.0.0,<5"
26+
27+
- name: Lint the extension
28+
run: |
29+
set -eux
30+
jlpm
31+
jlpm run lint:check
32+
33+
- name: Test the extension
34+
run: |
35+
set -eux
36+
jlpm run test
37+
38+
- name: Build the extension
39+
run: |
40+
set -eux
41+
python -m pip install .[test]
42+
43+
pytest -vv -r ap --cov scheduler_jupyter_plugin
44+
jupyter server extension list
45+
jupyter server extension list 2>&1 | grep -ie "scheduler_jupyter_plugin.*OK"
46+
47+
jupyter labextension list
48+
jupyter labextension list 2>&1 | grep -ie "scheduler-jupyter-plugin.*OK"
49+
50+
- name: Package the extension
51+
run: |
52+
set -eux
53+
54+
pip install build
55+
python -m build
56+
pip uninstall -y "scheduler_jupyter_plugin" jupyterlab
57+
58+
- name: Upload extension packages
59+
uses: actions/upload-artifact@v4
60+
with:
61+
name: extension-artifacts
62+
path: dist/scheduler_jupyter_plugin*
63+
if-no-files-found: error
64+
65+
test_isolated:
66+
needs: build
67+
runs-on: ubuntu-latest
68+
69+
steps:
70+
- name: Install Python
71+
uses: actions/setup-python@v5
72+
with:
73+
python-version: '3.9'
74+
architecture: 'x64'
75+
- uses: actions/download-artifact@v4
76+
with:
77+
name: extension-artifacts
78+
- name: Install and Test
79+
run: |
80+
set -eux
81+
# Remove NodeJS, twice to take care of system and locally installed node versions.
82+
sudo rm -rf $(which node)
83+
sudo rm -rf $(which node)
84+
85+
pip install "jupyterlab>=4.0.0,<5" scheduler_jupyter_plugin*.whl
86+
87+
88+
jupyter server extension list
89+
jupyter server extension list 2>&1 | grep -ie "scheduler_jupyter_plugin.*OK"
90+
91+
jupyter labextension list
92+
jupyter labextension list 2>&1 | grep -ie "scheduler-jupyter-plugin.*OK"
93+
python -m jupyterlab.browser_check --no-browser-test
94+
95+
integration-tests:
96+
name: Integration tests
97+
needs: build
98+
runs-on: ubuntu-latest
99+
100+
env:
101+
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/pw-browsers
102+
103+
steps:
104+
- name: Checkout
105+
uses: actions/checkout@v4
106+
107+
- name: Base Setup
108+
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
109+
110+
- name: Download extension package
111+
uses: actions/download-artifact@v4
112+
with:
113+
name: extension-artifacts
114+
115+
- name: Install the extension
116+
run: |
117+
set -eux
118+
python -m pip install "jupyterlab>=4.0.0,<5" scheduler_jupyter_plugin*.whl
119+
120+
- name: Install dependencies
121+
working-directory: ui-tests
122+
env:
123+
YARN_ENABLE_IMMUTABLE_INSTALLS: 0
124+
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
125+
run: jlpm install
126+
127+
- name: Set up browser cache
128+
uses: actions/cache@v4
129+
with:
130+
path: |
131+
${{ github.workspace }}/pw-browsers
132+
key: ${{ runner.os }}-${{ hashFiles('ui-tests/yarn.lock') }}
133+
134+
- name: Install browser
135+
run: jlpm playwright install chromium
136+
working-directory: ui-tests
137+
138+
- name: Execute integration tests
139+
working-directory: ui-tests
140+
run: |
141+
jlpm playwright test
142+
143+
- name: Upload Playwright Test report
144+
if: always()
145+
uses: actions/upload-artifact@v4
146+
with:
147+
name: scheduler_jupyter_plugin-playwright-tests
148+
path: |
149+
ui-tests/test-results
150+
ui-tests/playwright-report
151+
152+
check_links:
153+
name: Check Links
154+
runs-on: ubuntu-latest
155+
timeout-minutes: 15
156+
steps:
157+
- uses: actions/checkout@v4
158+
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
159+
- uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Check Release
2+
on:
3+
push:
4+
branches: ['main']
5+
pull_request:
6+
branches: ['*']
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
check_release:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Base Setup
19+
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
20+
- name: Check Release
21+
uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2
22+
with:
23+
token: ${{ secrets.GITHUB_TOKEN }}
24+
25+
- name: Upload Distributions
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: scheduler_jupyter_plugin-releaser-dist-${{ github.run_number }}
29+
path: .jupyter_releaser_checkout/dist
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Enforce PR label
2+
3+
on:
4+
pull_request:
5+
types: [labeled, unlabeled, opened, edited, synchronize]
6+
jobs:
7+
enforce-label:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
pull-requests: write
11+
steps:
12+
- name: enforce-triage-label
13+
uses: jupyterlab/maintainer-tools/.github/actions/enforce-label@v1

.github/workflows/prep-release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: 'Step 1: Prep Release'
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version_spec:
6+
description: 'New Version Specifier'
7+
default: 'next'
8+
required: false
9+
branch:
10+
description: 'The branch to target'
11+
required: false
12+
post_version_spec:
13+
description: 'Post Version Specifier'
14+
required: false
15+
# silent:
16+
# description: "Set a placeholder in the changelog and don't publish the release."
17+
# required: false
18+
# type: boolean
19+
since:
20+
description: 'Use PRs with activity since this date or git reference'
21+
required: false
22+
since_last_stable:
23+
description: 'Use PRs with activity since the last stable git tag'
24+
required: false
25+
type: boolean
26+
jobs:
27+
prep_release:
28+
runs-on: ubuntu-latest
29+
permissions:
30+
contents: write
31+
steps:
32+
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
33+
34+
- name: Prep Release
35+
id: prep-release
36+
uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@v2
37+
with:
38+
token: ${{ secrets.GITHUB_TOKEN }}
39+
version_spec: ${{ github.event.inputs.version_spec }}
40+
# silent: ${{ github.event.inputs.silent }}
41+
post_version_spec: ${{ github.event.inputs.post_version_spec }}
42+
branch: ${{ github.event.inputs.branch }}
43+
since: ${{ github.event.inputs.since }}
44+
since_last_stable: ${{ github.event.inputs.since_last_stable }}
45+
46+
- name: '** Next Step **'
47+
run: |
48+
echo "Optional): Review Draft Release: ${{ steps.prep-release.outputs.release_url }}"
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: 'Step 2: Publish Release'
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
branch:
6+
description: 'The target branch'
7+
required: false
8+
release_url:
9+
description: 'The URL of the draft GitHub release'
10+
required: false
11+
steps_to_skip:
12+
description: 'Comma separated list of steps to skip'
13+
required: false
14+
15+
jobs:
16+
publish_release:
17+
runs-on: ubuntu-latest
18+
environment: release
19+
permissions:
20+
id-token: write
21+
steps:
22+
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
23+
24+
- uses: actions/create-github-app-token@v1
25+
id: app-token
26+
with:
27+
app-id: ${{ vars.APP_ID }}
28+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
29+
30+
- name: Populate Release
31+
id: populate-release
32+
uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2
33+
with:
34+
token: ${{ steps.app-token.outputs.token }}
35+
branch: ${{ github.event.inputs.branch }}
36+
release_url: ${{ github.event.inputs.release_url }}
37+
steps_to_skip: ${{ github.event.inputs.steps_to_skip }}
38+
39+
- name: Finalize Release
40+
id: finalize-release
41+
env:
42+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
43+
uses: jupyter-server/jupyter_releaser/.github/actions/finalize-release@v2
44+
with:
45+
token: ${{ steps.app-token.outputs.token }}
46+
release_url: ${{ steps.populate-release.outputs.release_url }}
47+
48+
- name: '** Next Step **'
49+
if: ${{ success() }}
50+
run: |
51+
echo "Verify the final release"
52+
echo ${{ steps.finalize-release.outputs.release_url }}
53+
54+
- name: '** Failure Message **'
55+
if: ${{ failure() }}
56+
run: |
57+
echo "Failed to Publish the Draft Release Url:"
58+
echo ${{ steps.populate-release.outputs.release_url }}

0 commit comments

Comments
 (0)