Flow Documentation
Company PagePlatform Status
  • Overview
  • Platform
    • Release Notes
    • Pricing
      • Compute
      • Kubernetes
      • App Engine
      • Object Storage
      • Mac Bare Metal
      • CI Engine
      • DevOps Services
      • Volumes & Snapshots
      • Load Balancers
      • Elastic IPs
      • VPN & Peering
      • Licenses
      • Support
      • Billing FAQ
    • Account
      • Sign Up
      • Closing account
    • Cashback Program
    • Support
      • Case severity and initial response times
    • Service Level Agreement (SLA)
    • Security & Compliance
      • Log4j Vulnerability
    • Regions
      • ALP1
      • ALP2
      • ZRH1
  • Products
    • Compute
      • Instances
        • How-to
          • Connect to instances
          • Destroy Instances
      • Volumes
      • Keypairs
      • ▫️Networking
        • Private Networks
        • Routers
        • Security Groups
        • Elastic IPs
        • Load Balancers
          • Balancing Pools
        • Certificates
        • VPN & Peering
    • Kubernetes
      • Clusters
      • Resources
        • Volumes Features (CSI)
        • External Load Balancers
        • Cluster Autoscaler
        • Traefik upgrade and tests
        • Update custom resource definitions (CRDs) for VolumeSnapshots
    • Object Storage
      • Instances
      • How-to
        • Access Storage with AWS S3 SDKs
        • Access Storage with Cyberduck
        • Access Storage with Mountainduck
      • Ressources
        • Supported Amazon S3 features
        • Replication Management
          • GET service replication
          • PUT service replication
          • DELETE service replication
    • App Engine
      • Accounts
    • Mac Bare Metal
      • Devices
      • How-to
        • Connect via Remote Desktop
        • Connect via SSH
        • Change Display Resolution
        • Connect local USB devices
      • Resources
        • Deprovisioning
    • CI Engine
      • Subscriptions
      • How-to
        • Setup GitHub Actions Integration
        • Setup Buildkite Integration
        • Customise Image
        • Enable Debug Mode
        • Change Image of Integration
      • Resources
        • Runners & Concurrency
        • Vanilla Images
          • macOS 15.2 - Vanilla
        • Golden Images
          • macOS 15.2 - Golden
        • Custom Images
  • Developer Center
    • Overview
    • API
      • Product Entities
      • Location Entities
    • CLI
    • Terraform
Powered by GitBook
On this page
  1. Products
  2. CI Engine
  3. How-to

Setup GitHub Actions Integration

PreviousHow-toNextSetup Buildkite Integration

Last updated 3 months ago

To integrate GitHub Actions with your CI-Engine subscription, follow the steps below:

  1. Navigate to CI-Engine > .

  2. Click on the (+) Plus sign.

  3. Choose the subscription for which you create the integration.

  4. Choose GitHub Actions as the CI-provider.

  5. Choose a global or custom image for your runners to use.

    1. You can always later.

  6. Configure the runners to connect to your repository.

    1. Setup a .

    2. Provide the full repository name which you’re creating the integration for and you have given the PAT access to. Make sure the repository name is formatted as follows: <repository-owner>/<repository-name>.

    3. Define a runner timeout, after which a runner without an active build job will be terminated.

  7. Give your integration a name.

  8. Configure a .

  9. in your GitHub Actions Workflow YAML to the string displayed in the wizard, which has the form flow-runner-<random string>.

Once you finished the steps above you are ready to build! Simply trigger the Workflow you just updated to run on CI-Engine and check the state of your runners on the detail page of your subscription.

Personal Access Token Configuration

For the runners to authenticate themselves, a needs to be provided. Create a new fine-grained PAT in your GitHub Developer settings and make sure to configure the token as follows:

  1. Set the “Expiration” to No expiration

  2. Under “Repository Access” select Only selected repositories and add the Repository which you’re creating the integration for.

  3. Under “Repository permissions" add Read and Write access for Administration. Note: This access will also enforce Read access for Metadata.

Webhook Configuration

To spawn the runners on demand you need to setup Webhooks in your GitHub pipeline:

  1. In your GitHub repository, go to Settings > Webhooks and click on the Add Webhook-Button

  2. Configure the Payload URL and the Secret that are provided in the Wizard-Step. Alternatively you can find this information on the details page of your integration by clicking on (•••) More button and View Webhook Config.

  3. Under Which events would you like to trigger this webhook? select Let me select individual events and enable Workflow jobs. This event webhook is required for the runners to spawn correctly.

Workflow Configuration

In order for GitHub to know which runner can pick up a job you need to specify label in your GitHub Actions Workflow. This string needs to be set to the Runner Label provided in the Wizard-Step. Alternatively you can find this information on the details page of your integration. Make sure that all jobs have only this Runner Label configured on the label or else it cannot be guaranteed that the job gets correctly picked up by the runner.

runs-on
runs-on
Integrations
change the image of the integration
fine-grained Personal Access Token
PAT at GitHub
webhook at GitHub
Update the runs-on label