Skip to main content

Current limitations

note

XetHub Actions is in early preview with known limitations. Help us improve by filing bugs!

Usage Limitations

While in early preview, XetHub Actions are free of charge. There are limits on Actions, since they are backed by compute on XetHub-hosted runners. These limits are subject to change.

  • Concurrent Actions on a repository: One Action workflow is supported per repository.
  • Workflow execution time: Each workflow can run for 60 minutes. If a workflow run reaches this limit, it will be cancelled.
  • Compute limits: Actions only run on XetHub’s ubuntu-latest Docker image on XetHub servers.
    • XetHub runs Ubuntu on a machine with 2vCPU with 2GB RAM and 30GB of disk space.
    • The ubuntu-latest image comes with git-xet, pandas, and matplotlib pre-installed.
    • If all available instances are occupied, your job may fail to launch and require a manual restart.

Differences from GitHub Actions

Actions provide similar functionality to GitHub Actions, with the following known differences.

  1. One Action is supported per repository, specified at path .xethub/workflows/main.yml

  2. Only runs-on XetHub servers right now, with limited instances available. When all XetHub Actions servers are occupied, your Action may fail to launch and require a manual restart. If this happens to you, please reach out to us in the #questions channel of our community support Slack and we will help troubleshoot.

  3. Actions currently do not support secure secrets management. Only share your repositories with trusted collaborators and avoid hard-coding your access keys into your repository.

  4. Accessing context with XetHub Actions is currently not supported.

  5. The following GitHub Actions syntax options are not yet supported, and any usage of these options will be ignored.

    NameDescription
    concurrency, jobs.<job_id>.concurrencyUsed to run a single job at a time
    run-nameName associated with a workflow run
    permissions, jobs.<job_id>.permissionsPermissions granted to the user token
    jobs.<job_id>.continue-on-errorKeeps workflow run from failing on error
    jobs.<job_id>.environmentDefine the environment that a job runs on
    jobs.<job_id>.timeout-minutesMax time a job runs before it times out
    on.workflow_dispatchSpecify inputs to pass to the workflow
    hashFiles expressionsReturn a hash for a set of files