Test against deployment url (#10501)
* Test against deployment url * Remove infinite redirect configuration * Add DEPLOYMENT_URL for builds against master * website: Update README * tip on seconds * Test with GHA timeout_minutes clause * Add continue on error for poll job * Add empty url check * Move to pull-request path filter * Remove www for packer.io * Apply suggestions from code review * Update path filter Vercel deploys on any change under the website directory. * Use custom action as test Co-authored-by: Adrien Delorme <azr@users.noreply.github.com>
This commit is contained in:
parent
e588029d6a
commit
ea7fef699f
|
@ -1,14 +1,37 @@
|
|||
on: [pull_request]
|
||||
name: Check Markdown links for modified files
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'website/**'
|
||||
|
||||
name: Check markdown links on modified website files
|
||||
jobs:
|
||||
vercel-deployment-poll:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 3 #cancel job if no deployment is found within x minutes
|
||||
outputs:
|
||||
url: ${{ steps.waitForVercelPreviewDeployment.outputs.url }}
|
||||
steps:
|
||||
- name: Wait for Vercel preview deployment to be ready
|
||||
uses: nywilken/wait-for-vercel-preview@master
|
||||
id: waitForVercelPreviewDeployment
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
max_timeout: 600 # in seconds, set really high to leverage job timeout-minutes values
|
||||
allow_inactive: true # needed to ensure we get a URL for a previously released deployment
|
||||
markdown-link-check:
|
||||
needs: vercel-deployment-poll
|
||||
if: ${{ needs.vercel-deployment-poll.outputs.url != '' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
- name: Get Deployment URL
|
||||
run:
|
||||
echo "DEPLOYMENT_URL=${{ needs.vercel-deployment-poll.outputs.url }}" >> $GITHUB_ENV
|
||||
- name: Checkout source branch
|
||||
uses: actions/checkout@master
|
||||
- name: Check links
|
||||
uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
with:
|
||||
use-quiet-mode: 'yes'
|
||||
file-extension: 'mdx'
|
||||
check-modified-files-only: 'yes'
|
||||
folder-path: 'website/content'
|
||||
|
||||
|
|
|
@ -6,6 +6,9 @@ jobs:
|
|||
markdown-link-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set deployment URL env
|
||||
run:
|
||||
echo "DEPLOYMENT_URL=https://packer-git-master.hashicorp.vercel.app" >> $GITHUB_ENV
|
||||
- uses: actions/checkout@master
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
with:
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
"replacementPatterns": [
|
||||
{
|
||||
"pattern": "^/",
|
||||
"replacement": "https://packer.io/"
|
||||
"replacement": "{{env.DEPLOYMENT_URL}}/"
|
||||
}
|
||||
],
|
||||
"timeout": "20s",
|
||||
|
|
|
@ -379,7 +379,9 @@ You may customize the parameters in any way you'd like. To remove a prerelease f
|
|||
|
||||
## Link Validation
|
||||
|
||||
The Packer GitHub repository is configured to run a [Markdown Link Check](https://github.com/gaurav-nelson/github-action-markdown-link-check#github-action---markdown-link-check-%EF%B8%8F) on a nightly basis to check for potential broken links within the Packer documentation. There is also a GitHub action that will check any modified `.mdx` files on new pull-requests.
|
||||
The Packer GitHub repository is configured to run a [Markdown Link Check](https://github.com/gaurav-nelson/github-action-markdown-link-check#github-action---markdown-link-check-%EF%B8%8F) on a nightly basis to check for potential broken links within the Packer documentation. All checks on master will be executed using the BASE_URL set to https://packer.io/.
|
||||
|
||||
There is also a GitHub action that will check any modified `website/content/**/*.mdx` files on new pull-requests. The link checker action for pull-requests will only run when there is a new Vercel deployment; checks will be executed against the Vercel deployment URL. If no deployment is made the check will run but will timeout after 3 minutes since it needs a valid Vercel deployment URL.
|
||||
|
||||
The master configuration file for the markdown-link-checker is called `mlc_config.json` and is located under the project's root directory.
|
||||
The configuration helps with relative links in the documentation that will be valid once deployed, and configures a few ignored URLs which are valid but may not return a valid 200 HTTP response code due to permissions or DDoS protection settings on the domain.
|
||||
|
|
|
@ -118,7 +118,7 @@ build {
|
|||
|
||||
In order to build using this template, create a directory named "http" in your
|
||||
current working directory. Copy the minimal example from our
|
||||
[preseed guide](https://www.packer.io/guides/automatic-operating-system-installs/preseed_ubuntu#examples)
|
||||
[preseed guide](https://packer.io/guides/automatic-operating-system-installs/preseed_ubuntu#examples)
|
||||
into a file in your http directory and name it "ubuntu_preseed.cfg". Copy the
|
||||
above json template into your current working directory and save it as
|
||||
"example_virtualbox_iso.json"
|
||||
|
|
|
@ -146,11 +146,6 @@ module.exports = [
|
|||
destination: '/docs/templates/hcl_templates/:path*',
|
||||
permanent: true,
|
||||
},
|
||||
{
|
||||
source: '/docs/templates/hcl_templates/:path*',
|
||||
destination: '/docs/templates/hcl_templates/:path*',
|
||||
permanent: true,
|
||||
},
|
||||
{
|
||||
source: '/docs/templates/hcl_templates/:path*/overview',
|
||||
destination: '/docs/templates/hcl_templates/:path*',
|
||||
|
|
Loading…
Reference in New Issue