Skip to content
Open
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
57 changes: 57 additions & 0 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Deploy GitHub Pages

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cancel-in-progress: false
cancel-in-progress: true

In case of multiple PRs coming in.


jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Checkout
uses: actions/checkout@v7

- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: 24
cache: npm

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm run test
Comment on lines +37 to +39

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: Run tests
run: npm run test

Tests are run with the ci workflow before a PR is merged, no?


- name: Build
run: npm run build

- name: Validate metadata files
run: npm run validate:metadata

Comment on lines +44 to +46

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: Validate metadata files
run: npm run validate:metadata

I think this is also part of the ci workflow.

- name: Configure Pages
uses: actions/configure-pages@v5

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: actions/configure-pages@v5
uses: actions/configure-pages@v6


- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: actions/upload-pages-artifact@v4
uses: actions/upload-pages-artifact@v5

with:
path: dist

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
path: dist
path: './dist'


- name: Deploy Pages
id: deployment
uses: actions/deploy-pages@v4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5

9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ npm exec -- zenodraft metadata validate .zenodo.json

During export, OpenCite validates generated `.zenodo.json` metadata. ZIP exports include `METADATA_VALIDATION.txt` for downstream provenance checks.

### GitHub Pages deployment

The `Deploy GitHub Pages` workflow runs on every push to `main` (and can be run
manually). It installs dependencies, runs tests and metadata validation, builds

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
manually). It installs dependencies, runs tests and metadata validation, builds
manually). It installs dependencies, builds

Following their removal. Since we have branch protections, there is no push to main without a PR first; tests and metadata validation are run with the PRs, so no need to run again.

the Vite site, and publishes `dist` to GitHub Pages. In the repository's
**Settings > Pages**, select **GitHub Actions** as the build and deployment
source. This replaces the previous `gh-pages` branch publishing setup; keep
that branch until the first workflow deployment succeeds.

## GitHub Import Workflow

1. Paste a GitHub repository URL into the import field.
Expand Down
Loading