Skip to content

adobe/reactor-turbine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,181 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Adobe Experience Platform Tags Turbine (Web)

Build Status Coverage Status npm (scoped with tag)

Adobe Experience Platform Tags is a next-generation tag management solution enabling simplified deployment of marketing technologies. For more information regarding Tags, please visit our product website.

Turbine is the orchestrator within a Tags JavaScript runtime library (the library deployed on a client website) which processes previously configured rules and delegates logic to extensions.

This project is not intended to be used directly by consumers; it is used by the Platform Tags build system and incorporated into emitted runtime libraries.

Contributing

Contributions are welcomed! Read the Contributing Guide and the Testing Guide for more information.

To get started:

  1. Install node.js.
  2. Clone the repository.
  3. After navigating into the project directory, install project dependencies by running npm install.
  4. cp .env-example .env and modify the environment variables as needed.

Scripts

To run tests a single time, run the following command:

npm run test

To ensure your code meets our linting standards, run the following command:

npm run lint

To create a build, run the following command:

npm run build

To create a production build, run the following command:

npm run build:production

For integration tests, you can run the following commands:

  • To check if the real integration libraries are ready for testing: npm run ensure-integration-test-libraries
  • To force a rebuild of all the real libraries for testing: npm run ensure-integration-test-libraries -- --force
  • npm run test:integration
  • NOTE: This project relies on the launch-validation-extension-package to be publicly available on npm to run the integration tests.

Pull Request & Deployment Process

When you bump package.json and open a pull request, the dev.yaml GitHub Action workflow will verify that the Turbine version deployed to the next tag on npm matches the version in package.json. If it does not match, the workflow will perform the following steps:

  1. run a production build.
  2. push to the npm next tag using the current version in package.json.
  3. Exit with failure code 78.

In the event that the deployment exits with failure code 78, the Reactor team will need to deploy the new version to an image. After the deployment is complete, re-run the failed workflow job. It will:

  1. verify that the Turbine version deployed to the next tag on npm matches the version in package.json.
  2. Run the unit tests
  3. Run Coveralls
  4. Run the integration tests, building new test scenario libraries if necessary.

If you push a new commit to an open PR without bumping package.json, the versions should match and the tests should run uninterrupted.

Syncing Next & Latest

During PR review, new versions of Turbine are placed on the next tag on npm. When the PR is merged and verified, the developer can sync the latest tag on npm by using the restore-dist-tag.yaml GitHub workflow.

Browser Support

Turbine supports the following browsers:

  • Chrome (latest)
  • Safari (latest)
  • Firefox (latest)
  • Edge (latest)
  • iOS Safari (latest)

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.

About

Adobe Experience Platform Tags rule engine which processes rules on client websites and delegates logic to extensions.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages