Loading Drone CI to GitHub Actions Converter...

How to Convert Drone CI to GitHub Actions - Step by Step Guide

Step 1

Input Your Drone CI Configuration

Start with your existing .drone.yml file. Whether you're migrating to GitHub for better integration, seeking more features, or consolidating CI/CD platforms:

Paste directly: Copy your .drone.yml content and paste into the editor
Upload file: Click "Upload" to select your .drone.yml file
Try sample: Click "Sample" to load an example Drone CI configuration

Example: Drone CI Configuration

Here's what a typical Drone CI pipeline looks like:

kind: pipeline
type: docker
name: default

steps:
  - name: build
    image: node:16
    commands:
      - npm install
      - npm run build

  - name: test
    image: node:16
    commands:
      - npm test
Step 2

Automatic Conversion & Mapping

The converter automatically transforms your Drone CI pipeline into GitHub Actions format:

Steps to steps: Drone pipeline steps convert to GitHub Actions job steps
Docker containers: Drone image directives map to GitHub Actions container or setup actions
Plugins: Drone plugins (docker, slack, s3) convert to equivalent GitHub Actions
Triggers: Drone trigger conditions map to GitHub Actions on: push/pull_request
Services: Drone services (databases, Redis) become GitHub Actions service containers
Conditions: Drone when clauses convert to GitHub Actions if conditions

Example: Converted GitHub Actions Workflow

The same configuration transformed into GitHub Actions YAML:

name: default
on:
  push:
    branches:
      - main
      - master
  pull_request:
    branches:
      - main
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '16'
      - name: build
        run: |
          npm install
          npm run build
      - name: test
        run: npm test
Step 3

Review and Customize

Review the generated workflow and make necessary adjustments:

Check secrets: Drone secrets (from_secret) need to be added to GitHub repository secrets
Custom plugins: Drone community plugins may need custom GitHub Actions or shell scripts
Volumes: Drone volume mounts need adjustment for GitHub Actions runners
Environments: Drone target environments may need GitHub deployment environments
Step 4

Deploy to GitHub Actions

Save your workflow file and set up GitHub Actions:

Download workflow: Click "Download" to save the workflow.yml file
Create directory: Create .github/workflows/ in your repository root
Add workflow: Place the workflow.yml file in .github/workflows/
Commit and push: GitHub Actions will automatically detect and run your workflow

Frequently Asked Questions

Why migrate from Drone CI to GitHub Actions?

GitHub Actions offers native GitHub integration (no external service), larger community and action marketplace, more free minutes for open source, and eliminates the need to host/maintain Drone infrastructure. Many teams also migrate when consolidating tools or seeking better GitHub integration.

How do Drone plugins map to GitHub Actions?

Most popular Drone plugins have GitHub Actions equivalents. For example: plugins/docker → docker/build-push-action, plugins/slack → slackapi/slack-github-action, plugins/s3 → aws-actions. Check the GitHub Actions marketplace for specific plugin replacements.

Can I use the same Docker images from Drone?

Yes! If you use custom Docker images in Drone (image: my-company/build), you can use the same images in GitHub Actions with container: image: my-company/build. GitHub Actions supports Docker Hub, AWS ECR, GitHub Container Registry, and other registries.

What about Drone secrets and environment variables?

Drone secrets (from_secret: docker_password) become GitHub repository secrets. Add them in Settings → Secrets and variables → Actions, then reference as ${{ secrets.DOCKER_PASSWORD }} in your workflow. GitHub also supports environment-level secrets.

How do Drone service containers work in GitHub Actions?

Drone services (like databases) map directly to GitHub Actions service containers. A Drone service running postgres becomes services: postgres: image: postgres:13. GitHub Actions handles networking and health checks automatically.

Are there other CI/CD platforms I can migrate to?

Yes! We also offer converters for Travis CI, CircleCI, Bitbucket Pipelines, and Jenkins to GitHub Actions.