Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

actions

GitHub Actions for interacting with Endform's platform

run-with-vercel-deployment

Helps you to connect deployments associated with commits to an Endform test suite run.

This action requires that you both have the Endform GitHub app and the Endform Vercel integration installed.

The action:

  • Finds the active deployment on Vercel associated with "this" commit.
  • Waits for the deployment to be ready
  • Exports the deployment URL to an environment variable
  • Automatically configures Endform to bypass Vercel deployment protection when available

Recommended usage

In most cases, you only need to provide the Vercel project name and the environment variable that should receive the deployment URL.

By default, the action requests a Vercel deployment protection bypass token and automatically passes it to Endform by setting ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. You do not need to export the bypass token yourself for Endform to use it.

For example:

name: Run end to end tests with endformon:
pull_request: # or push: if you want to run on commits to mainbranches:
- mainpermissions:
contents: readid-token: write # required for authentication with Endformjobs:
e2e:
runs-on: ubuntu-lateststeps:
- name: Checkout codeuses: actions/checkout@v4with:
fetch-depth: 0
- name: Setup Node.jsuses: actions/setup-node@v4
- name: Set up pnpmuses: pnpm/action-setup@v4with:
run_install: true
- name: Wait for Vercel deploymentuses: endformdev/actions/run-with-vercel-deployment@mainwith:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL # Sets the Vercel preview URL as the BASE_URL environment variable
- name: Run end to end tests with endformrun: | npx endform@latest test

Options

Vercel project

Use either project-name or project-id to tell the action which Vercel project to wait for. One of them is required.

project-name is usually the easiest option because it matches the project name you see in Vercel.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

Use project-id if you prefer to identify the Vercel project by its stable ID instead of its name.

with:
project-id: prj_abc123set-url-env-var: BASE_URL

Deployment URL environment variable

set-url-env-var is required. It chooses the environment variable name that receives the ready Vercel deployment URL.

For example, this makes the deployment URL available as BASE_URL to later workflow steps:

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URL

The action also exposes the same URL as the deployment-url action output.

Deployment protection bypass

deployment-protection-bypass controls whether the action asks Endform for a Vercel deployment protection bypass token. It defaults to true.

When a bypass token is returned, the action automatically sets ENDFORM_EXTRA_HTTP_HEADERS with the x-vercel-protection-bypass header. This is the recommended path for Endform tests against protected Vercel deployments.

Use set-vercel-bypass-env-var only if another tool or custom script also needs direct access to the raw bypass token. It is not required for Endform itself, and it is only exported when a bypass token is requested and returned.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLset-vercel-bypass-env-var: VERCEL_BYPASS_TOKEN

Set deployment-protection-bypass: false if you do not want the action to request or export a bypass token.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLdeployment-protection-bypass: false

Timeout

timeout-seconds controls how long the action waits for the matching Vercel deployment to become ready. It defaults to 600 seconds, or 10 minutes.

with:
project-name: endform-playwright-tutorialset-url-env-var: BASE_URLtimeout-seconds: 900

Outputs

The action sets these outputs for later workflow steps:

  • deployment-url: the ready Vercel deployment URL
  • deployment-id: the Vercel deployment ID returned by Endform
  • message: a status message, currently Deployment ready

About

Github Actions for interacting with Endform's platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages