GitHub - featurevisor/featurevisor-example-cloudflare: Featurevisor CI/CD example with GitHub Actions & Cloudflare Pages

Example Featurevisor project utilizing Cloudflare Pages.

For more documentation, visit https://featurevisor.com.

Accessing datafiles

The generated datafiles from this repository is accessible via these URLs:

Usage with Featurevisor SDK

Install the SDK in your application:

$ npm install --save @featurevisor/sdk

Then use it in your application:

import { createInstance } from "@featurevisor/sdk";

const DATAFILE_URL =
  "https://featurevisor-example-cloudflare.pages.dev/production/featurevisor-tag-all.json";

const datafileContent = await fetch(DATAFILE_URL).then((res) => res.json());

const sdk = createInstance({
  datafile: datafileContent,
});

Learn more about SDK usage here.

Installation

Since this example app lives outside of the Featurevisor monorepo, you are recommended to make sure package.json has the latest version of @featurevisor/cli package.

Usage

Lint YAMLs

Build datafiles

Checkout output in datafiles directory.

Test features

Cloudflare

For this example, we are going to be uploading to and serving our datafiles from Cloudflare Pages.

Make sure you already have a Cloudflare Pages project set up, and then use it in the publish workflow.

GitHub Actions

This example project is configured to run its CI/CD pipeline with GitHub Actions.

You are free to choose any other CI/CD provider of your choice.

Settings

Make sure you have Read and write permissions enabled in your GitHub repository's Settings > Actions > General > Workflow permissions section.

Workflows

You can find the GHA workflow files in .github/workflows directory.

  • checks workflow: runs against non-master (non-main) branches
  • publish workflow: runs against master (main) branch

Secrets

Follow the guide here, and set up these two secrets in your GitHub repository's Settings > Secrects and variables > Actions section:

  • CLOUDFLARE_ACCOUNT_ID
  • CLOUDFLARE_API_TOKEN

License

MIT © Fahad Heylaal