omnidash/.github/workflows/seo-report.yaml

56 lines
1.6 KiB
YAML

name: Unlighthouse SEO Reports
on:
deployment_status
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build-deploy:
if: github.event.deployment_status.state == 'success'
environment:
name: github-pages
url: https://${{ github.repository_owner }}.github.io/${{ github.head_ref }}/
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- name: Install Dependencies
run: yarn global add @unlighthouse/cli puppeteer
- name: Get Deployment Source Branch Name
id: git-branch
run: |
branch=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/deployments/${{ github.event.deployment.id }}" \
| jq -r '.ref' | cut -d "/" -f 3-)
echo "Source branch of deployment: $branch"
echo "SOURCE_REF=$branch" >> "$GITHUB_ENV"
- name: Build Unlighthouse report
run: |
unlighthouse-ci \
--site "${{ github.event.deployment_status.target_url }}" \
--build-static \
--router-prefix "${{ github.event.repository.name }}/${{ github.head_ref }}"
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GH_PAGES_TOKEN }}
publish_dir: ./.unlighthouse
destination_dir: ${{ github.head_ref }}