Update README.md #121
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Playwright Snapshots | |
on: | |
issue_comment: | |
types: [created, edited] | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
update-galata-snapshots: | |
name: Update Galata References | |
if: > | |
( | |
github.event.issue.author_association == 'OWNER' || | |
github.event.issue.author_association == 'COLLABORATOR' || | |
github.event.issue.author_association == 'MEMBER' | |
) && github.event.issue.pull_request && ( | |
contains(github.event.comment.body, 'please update galata snapshots') || | |
contains(github.event.comment.body, 'please update snapshots') | |
) | |
timeout-minutes: 80 | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: React to the triggering comment | |
run: | | |
gh api repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions --raw-field 'content=+1' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Configure git to use https | |
run: git config --global hub.protocol https | |
- name: Get PR Info | |
id: pr | |
env: | |
PR_NUMBER: ${{ github.event.issue.number }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GH_REPO: ${{ github.repository }} | |
COMMENT_AT: ${{ github.event.comment.created_at }} | |
run: | | |
pr="$(gh api /repos/${GH_REPO}/pulls/${PR_NUMBER})" | |
head_sha="$(echo "$pr" | jq -r .head.sha)" | |
pushed_at="$(echo "$pr" | jq -r .pushed_at)" | |
if [[ $(date -d "$pushed_at" +%s) -gt $(date -d "$COMMENT_AT" +%s) ]]; then | |
echo "Updating is not allowed because the PR was pushed to (at $pushed_at) after the triggering comment was issued (at $COMMENT_AT)" | |
exit 1 | |
fi | |
echo "head_sha=$head_sha" >> $GITHUB_OUTPUT | |
- name: Checkout the branch from the PR that triggered the job | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: gh pr checkout ${{ github.event.issue.number }} | |
- name: Validate the fetched branch HEAD revision | |
env: | |
EXPECTED_SHA: ${{ steps.pr.outputs.head_sha }} | |
run: | | |
actual_sha="$(git rev-parse HEAD)" | |
if [[ "$actual_sha" != "$EXPECTED_SHA" ]]; then | |
echo "The HEAD of the checked out branch ($actual_sha) differs from the HEAD commit available at the time when trigger comment was submitted ($EXPECTED_SHA)" | |
exit 1 | |
fi | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Install dependencies | |
run: | | |
bash ./scripts/ci_install.sh | |
# Build dev-mode | |
jlpm run build | |
- uses: jupyterlab/maintainer-tools/.github/actions/update-snapshots@v1 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
server_url: http-get://localhost:8888/lab | |
test_folder: galata | |
artifact_name: updated-galata-snapshots | |
report_name: update-galata-report | |
npm_client: jlpm | |
- name: Comment back on the PR | |
run: | | |
gh api repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments --raw-field 'body=Galata snapshots updated.' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
update-documentation-snapshots: | |
name: Update Documentation Snapshots | |
if: > | |
( | |
github.event.issue.author_association == 'OWNER' || | |
github.event.issue.author_association == 'COLLABORATOR' || | |
github.event.issue.author_association == 'MEMBER' | |
) && github.event.issue.pull_request && ( | |
contains(github.event.comment.body, 'please update documentation snapshots') || | |
contains(github.event.comment.body, 'please update snapshots') | |
) | |
timeout-minutes: 80 | |
runs-on: ubuntu-22.04 | |
# Python version is frozen through strategy.matrix.python-version | |
# Python dependencies are frozen in the installation step | |
# Note: IPython is among the frozen package | |
strategy: | |
matrix: | |
# Freeze Python version because it appears in console header | |
python-version: ['3.10.6'] | |
steps: | |
- name: React to the triggering comment | |
run: | | |
gh api repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions --raw-field 'content=+1' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Checkout JupyterLab | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
path: core | |
- name: Checkout demo project | |
uses: actions/checkout@v4 | |
with: | |
repository: jupyterlab/jupyterlab-demo | |
ref: master | |
path: demo | |
- name: Get demo folder | |
run: | | |
echo "JUPYTERLAB_GALATA_ROOT_DIR=$PWD" >> $GITHUB_ENV | |
working-directory: demo | |
- name: Get PR Info | |
id: pr | |
env: | |
PR_NUMBER: ${{ github.event.issue.number }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GH_REPO: ${{ github.repository }} | |
COMMENT_AT: ${{ github.event.comment.created_at }} | |
run: | | |
pr="$(gh api /repos/${GH_REPO}/pulls/${PR_NUMBER})" | |
head_sha="$(echo "$pr" | jq -r .head.sha)" | |
pushed_at="$(echo "$pr" | jq -r .pushed_at)" | |
if [[ $(date -d "$pushed_at" +%s) -gt $(date -d "$COMMENT_AT" +%s) ]]; then | |
echo "Updating is not allowed because the PR was pushed to (at $pushed_at) after the triggering comment was issued (at $COMMENT_AT)" | |
exit 1 | |
fi | |
echo "head_sha=$head_sha" >> $GITHUB_OUTPUT | |
- name: Checkout the branch from the PR that triggered the job | |
working-directory: core | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: gh pr checkout ${{ github.event.issue.number }} | |
- name: Validate the fetched branch HEAD revision | |
working-directory: core | |
env: | |
EXPECTED_SHA: ${{ steps.pr.outputs.head_sha }} | |
run: | | |
actual_sha="$(git rev-parse HEAD)" | |
if [[ "$actual_sha" != "$EXPECTED_SHA" ]]; then | |
echo "The HEAD of the checked out branch ($actual_sha) differs from the HEAD commit available at the time when trigger comment was submitted ($EXPECTED_SHA)" | |
exit 1 | |
fi | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Install dependencies | |
working-directory: core | |
run: | | |
set -ex | |
# Install chinese font | |
sudo apt-get update | |
sudo apt-get install fonts-dejavu fonts-noto | |
# Freeze the packages to ensure consistent look and feel | |
# IPython is frozen because its version is displayed in | |
# the console header | |
pip install .[docs-screenshots] | |
bash ./scripts/ci_install.sh | |
# Build dev-mode | |
jlpm run build | |
- uses: jupyterlab/maintainer-tools/.github/actions/update-snapshots@v1 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
server_url: http-get://localhost:8888/lab | |
test_folder: core/galata | |
start_server_script: start:doc | |
update_script: test:doc:update | |
artifact_name: updated-documentation-snapshots | |
report_name: update-documentation-report | |
npm_client: jlpm | |
- name: Comment back on the PR | |
run: | | |
gh api repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments --raw-field 'body=Documentation snapshots updated.' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |