text: const sh = require('shelljs');
  const semver = require('semver');
  const path = require('path');
  
  const GIT_LOG = `git log --format=%B -n 1 ${process.env.COMMIT_REF}`;
  const output = sh.exec(GIT_LOG, {async: false, silent: true}).stdout;
  
  // if we're on main branch and not on a tagged commit,
  // error the build so it doesn't redeploy the docs
  if (process.env.BRANCH === 'main' && semver.valid(output.trim()) === null) {
    process.exit(1);
  } else {
    sh.exec('npm run docs:api');
    sh.cp('-R', 'docs/legacy-docs', 'docs/api/docs');
  
    // move docs/_redirects into the root of the docs site
    //
    // this is needed because the root of the docs site is docs/api, which is not
    // in version control.
    const docsPath = path.join(__dirname, '..', 'docs');
  
    sh.cp(path.join(docsPath, '_redirects'), path.join(docsPath, 'api', '_redirects'));
  }
  