Do you have other Github actions (Lighthouse, Cypress, etc) that depend on the Netlify Preview URL? This action will wait until the preview URL is available before running the next task.
This is a fork of JosephDuffy/wait-for-netlify-action that uses the deployment for the commit, rather than for the PR. This fork fixes a couple issues retrieving the GitHub SHA being built, the deployment commit URL, and max_timeout
setting.
This action uses the Netlify API to always retrieve the correct deployment being built. You will need to generate a Personal Access Token to use and pass it as the NETLIFY_TOKEN
environment variable.
Required. Your Netlify Personal Access Token to use for API access. This should be set as a GitHub secret, see example.
Required The name of the Netlify site to reach https://{site_name}.netlify.com
Optional — The amount of time to spend waiting on Netlify. Defaults to 60
seconds
The Netlify deploy preview url that was deployed.
The Netlify site ID that was deployed.
The Netlify deployment ID that was deployed.
Basic Usage
steps:
- name: Waiting for Netlify Preview
uses: kamranayub/wait-for-netlify-action@2.0.0
id: wait-for-netflify-preview
with:
site_name: "YOUR_SITE_NAME"
max_timeout: 60
env:
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}}
Complete example with Lighthouse
name: Lighthouse
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install
run: |
npm ci
- name: Build
run: |
npm run build
- name: Waiting for 200 from the Netlify Preview
uses: kamranayub/wait-for-netlify-action@2.0.0
id: wait-for-netflify-preview
with:
site_name: "YOUR_SITE_NAME"
env:
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}}
- name: Lighthouse CI
run: |
npm install -g @lhci/cli@0.3.x
lhci autorun --upload.target=temporary-public-storage --collect.url=${{ steps.wait-for-netflify-preview.outputs.url }} || echo "LHCI failed!"
env:
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}