Skip to content

try setting GH PAT in credential.helper store #57

try setting GH PAT in credential.helper store

try setting GH PAT in credential.helper store #57

name: Build MKDocs website
on:
workflow_dispatch:
pull_request:
branches: ["main","devel"]
types: [closed]
paths:
- '.github/workflows/build-mkdocs-website.yml'
- 'docs/**/**'
- 'mkdocs.yml'
jobs:
build-and-deploy:
if: |
github.event_name == 'workflow_dispatch' ||
(github.event_name == 'pull_request' && github.event.pull_request.merged == true)
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install dependencies
run: pip install mkdocs mkdocs-material[imaging]
- name: Determine deployment settings
id: config
run: |
if [[ "${{ github.ref_name }}" == "main" ]]; then
echo "target_repo=${{ github.repository }}" >> "$GITHUB_OUTPUT"
echo "url=https://contributor.r-project.org/r-dev-env" >> "$GITHUB_OUTPUT"
else
echo "target_repo=r-devel/r-dev-env-devel" >> "$GITHUB_OUTPUT"
echo "url=https://contributor.r-project.org/r-dev-env-devel" >> "$GITHUB_OUTPUT"
fi
- name: Modify site_url in mkdocs.yml
run: |
echo "Setting site_url to ${{ steps.config.outputs.url }}"
sed -i "s|^site_url:.*|site_url: '${{ steps.config.outputs.url }}'|" mkdocs.yml
- name: Build MkDocs
run: mkdocs build
- name: Validate PAT
env:
GH_PAT: ${{ secrets.R_DEV_ENV_DOCS }}
run: |
curl -H "Authorization: token $GH_PAT" https://api.github.com/user || {
echo "PAT is invalid or expired" >&2
exit 1
}
- name: Deploy to GitHub Pages
env:
GH_PAT: ${{ secrets.R_DEV_ENV_DOCS }}
run: |
echo "Deploying from branch: ${{ github.ref_name }}"
echo "Commit: ${{ github.sha }}"
git config --global credential.helper store
echo "https://x-access-token:${GH_PAT}@github.com" > ~/.git-credentials
git remote set-url origin https://github.com/${{ steps.config.outputs.target_repo }}
mkdocs gh-deploy --config-file mkdocs.yml --remote-branch gh-pages --force