42 Get rid of commitizen? (#44) #157
This file contains hidden or 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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
name: Render and Publish | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
jobs: | |
lint: | |
name: Lint with Prettier | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Install dependencies | |
run: npm install | |
- name: Check for linting errors | |
run: npm run check | |
build-optimize: | |
name: Build, Optimize, and Upload Artifacts | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Overwrite _quarto.yml | |
if: github.repository == 'maehr/open-research-data-template' | |
run: | | |
cp .github/_quarto.yml _quarto.yml | |
- name: Set up Quarto | |
uses: quarto-dev/quarto-actions/setup@v2 | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
# To install LaTeX to build PDF book outputs, uncomment below | |
tinytex: true | |
# uncomment below and fill to pin a version | |
# version: SPECIFIC-QUARTO-VERSION-HERE | |
# add software dependencies here and any libraries | |
- name: Install uv | |
uses: astral-sh/setup-uv@v5 | |
with: | |
enable-cache: true | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Create and activate virtual environment | |
run: | | |
uv venv .venv | |
echo "VIRTUAL_ENV=.venv" >> $GITHUB_ENV | |
echo "$PWD/.venv/bin" >> $GITHUB_PATH | |
- name: Install the project | |
run: uv sync | |
- name: Setup R | |
uses: r-lib/actions/setup-r@v2 | |
- name: Set R environment variables for precompiled binaries | |
run: | | |
echo "RENV_CONFIG_PAK_ENABLED=TRUE" >> $GITHUB_ENV | |
echo "RENV_CONFIG_PREFER_BINARY=TRUE" >> $GITHUB_ENV | |
echo "RENV_CONFIG_PACKAGE_CACHE=TRUE" >> $GITHUB_ENV | |
- uses: r-lib/actions/setup-renv@v2 | |
with: | |
cache-version: 1 | |
- name: Render Quarto Project | |
uses: quarto-dev/quarto-actions/render@v2 | |
with: | |
path: . | |
- name: JamPack Optimization | |
run: | | |
npx @divriots/jampack ./_site | |
- name: Upload Built Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: built-site | |
path: _site | |
- name: Upload static files as artifact | |
id: deployment | |
uses: actions/upload-pages-artifact@v3 # or specific "vX.X.X" version tag for this action | |
with: | |
path: _site | |
deadlinkcheck: | |
name: Download Artifacts and Check for Dead Links | |
runs-on: ubuntu-24.04 | |
needs: build-optimize | |
steps: | |
- name: Download Built Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: built-site | |
path: _site | |
- name: Start static server | |
run: | | |
cd _site | |
nohup python3 -m http.server 5528 & | |
sleep 3 # Give the server time to start | |
- name: Check for broken links | |
run: | | |
wget --spider --recursive --no-parent --no-check-certificate http://localhost:5528/ || exit 1 | |
deploy: | |
name: Download Artifacts and Deploy | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-24.04 | |
needs: [build-optimize, deadlinkcheck] | |
if: github.event_name != 'pull_request' | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |