Skip to main content
Code blocks

Code blocks

let isCollapsed = false;
let hasOverflow = false;
let measuredHeight: number;
let contentHeight: number;
let contentRef: HTMLDivElement;
let isCollapsed = false;
let hasOverflow = false;
let measuredHeight: number;
let contentHeight: number;
let contentRef: HTMLDivElement;

This one should be small

let isCollapsed = false;
let hasOverflow = false;
let measuredHeight: number;
let contentHeight: number;
let contentRef: HTMLDivElement;

Code from Aikido: https://help.aikido.dev/doc/cli-options-for-local-scanner/docl8ln2x72d

This one should be bigger but still small

Usage: aikido-local-scanner scan [options] <path>

Run a scan. And then do something.
Add text
gfhfdghfghd
dfghdfgh

Arguments:
  path                               The path you want to scan.

Options:
  --apikey <apikey>                  Apikey to send scanning results to Aikdo.
  --repositoryname <repositoryname>  Repo name to create or send results to.
  --branchname <branchname>          Branch name that is being scanned.
  --tmpdirectory <tmpdirectory>      Temporary directory to use during scanning. (default: "./.aikidotmp")
  --debug                            Add additional debug information to command output.
  --disable-artifact-scanning        Disable trivy rootfs scanning. Use to speed up scanning at the cost of not scanning artifacts such as .jar files.
  --scanners [scanners...]           Specify which of the scanners should be executed. (choices: "trivy", "semgrep", "checkov", "syft")
  --fail-on <severity>               Runs scanner in release gating mode and fails on the given severity. (choices: "low", "medium", "high", "critical")
  --gating-result-output <output>    JSON file to write issues to when running (release gating mode only)
  --no-fail-on-timeout               Do not fail the process in case the scan result polling times out (release gating mode only)
  --max-polling-attempts <amount>    Amount of times to poll for scan results, increase this if the default value of 20 is not enough (release gating mode only)
  -h, --help                         display help for command

Code from HipHops: https://docs.hiphops.io/#/walk-release-flow

on push {
  name = "prerelease"

  if = event.ref == "refs/heads/main"

  call github_create_tag {
    name = "create_tag"

    inputs = {
      repo = event.repository.name
      tag = versiontmpl("[yy][mm]-[adj]-[pet]")
      sha = event.after
    }
  }

  call github_create_release {
    name = "create_release"

    if = create_tag.completed

    inputs = {
      repo = event.repository.name
      tag_name = create_tag.json.created_tag.tag
      release_name = "Pre-release ${create_tag.json.created_tag.tag}"
      prerelease = true
      make_latest = false
    }
  }

  call github_dispatch_workflow {
    name = "run_workflow"

    if = create_release.completed

    inputs = {
      repo = event.repository.name
      workflow = "deploy.yaml"
      branch_or_tag = "main"
      inputs = {
        ref = create_tag.json.created_tag.tag
        env = "stage"
      }
    }
  }

  call slack_post_message {
    if = run_workflow.done

    inputs = {
      channel = "engineering"
      text = (run_workflow.errored ? 
      format(":warning: Pre-release workflow failed to start on ${ event.repository.name }, error is: %v", run_workflow.hops.error) : 
      ":white_check_mark: Pre-release <${event.repository.html_url}/releases/tag/${create_tag.json.created_tag.tag}|${create_tag.json.created_tag.tag}> created for ${event.repository.name}")
    }
  }
}

// Live release process
task release_live {
  display_name = "Release To Live"
  emoji = "🚀"

  param version {
    help = "Enter the version for the next release. Format is v0.0.0"
    required = true
  }

  param repo {
    help = "Enter the repo name, e.g. 'hops'"
    required = true
    default = "hops"
  }
}

on task_release_live {
  call github_api {
    name = "create_release"

    inputs = {
      path = "/repos/{owner}/{repo}/releases"
      method = "POST"
      params = {
        repo = event.repo
        tag_name = event.version
        name = "Release ${event.version}"
        generate_release_notes = true
      }
    }
  }

  call github_dispatch_workflow {
    name = "run_workflow"

    if = create_release.completed

    inputs = {
      repo = event.repo
      workflow = "deploy.yaml"
      branch_or_tag = "main"
      inputs = {
        ref = event.version
        env = "live"
      }
    }
  }

  call slack_post_message {
    if = run_workflow.done

    inputs = {
      channel = "engineering"
      text = (run_workflow.errored ? 
      format(":warning: Release workflow failed to start on %s, error is: %v", event.repo, run_workflow.hops.error) : 
      ":rocket: Release <${create_release.json.html_url}|${event.version}> created for ${event.repo}")
    }
  }
}

// On workflow run completion (stage or live), notify slack of the outcome
on workflowrun_completed {
  // Filter by runs that are release deploys
  if = alltrue(
    glob(event.workflow.path, "**/deploy.yaml"),
    event.workflow_run.head_branch == "main"
  )

  call slack_post_message {
    if = event.workflow_run.conclusion == "success"

    inputs = {
      channel = "engineering"
      text = ":information_source: <${event.workflow_run.html_url}|${event.workflow_run.display_title}> completed on ${event.workflow_run.repository.name}"
    }
  }

  call slack_post_message {
    if = event.workflow_run.conclusion != "success"

    inputs = {
      channel = "engineering"
      text = <<-EOT
      :warning: ${event.workflow_run.display_title} unsuccessful. Status was `${event.workflow_run.conclusion}`

      <${event.workflow_run.html_url}|Click here to debug/re-run>
      EOT
    }
  }
}

// On workflow run completion (stage or live), notify slack of the outcome
on workflowrun_completed {
  // Filter by runs that are release deploys
  if = alltrue(
    glob(event.workflow.path, "**/deploy.yaml"),
    event.workflow_run.head_branch == "main"
  )

  call slack_post_message {
    if = event.workflow_run.conclusion == "success"

    inputs = {
      channel = "engineering"
      text = ":information_source: <${event.workflow_run.html_url}|${event.workflow_run.display_title}> completed on ${event.workflow_run.repository.name}"
    }
  }

  call slack_post_message {
    if = event.workflow_run.conclusion != "success"

    inputs = {
      channel = "engineering"
      text = <<-EOT
      :warning: ${event.workflow_run.display_title} unsuccessful. Status was `${event.workflow_run.conclusion}`

      <${event.workflow_run.html_url}|Click here to debug/re-run>
      EOT
    }
  }
}


// On workflow run completion (stage or live), notify slack of the outcome
on workflowrun_completed {
  // Filter by runs that are release deploys
  if = alltrue(
    glob(event.workflow.path, "**/deploy.yaml"),
    event.workflow_run.head_branch == "main"
  )

  call slack_post_message {
    if = event.workflow_run.conclusion == "success"

    inputs = {
      channel = "engineering"
      text = ":information_source: <${event.workflow_run.html_url}|${event.workflow_run.display_title}> completed on ${event.workflow_run.repository.name}"
    }
  }

  call slack_post_message {
    if = event.workflow_run.conclusion != "success"

    inputs = {
      channel = "engineering"
      text = <<-EOT
      :warning: ${event.workflow_run.display_title} unsuccessful. Status was `${event.workflow_run.conclusion}`

      <${event.workflow_run.html_url}|Click here to debug/re-run>
      EOT
    }
  }
}