Ryvn integrates with GitHub Actions to automate your build and deployment workflow. This integration enables automatic releases when you push changes to your repository, making it easier to maintain a consistent deployment process.

Prerequisites

Before setting up GitHub Actions integration, ensure you have:

  • A service created in Ryvn from a GitHub repository
  • Admin access to the GitHub repository
  • A deployed installation of your service

Supported Service Types

GitHub Actions integration is available for the following service types:

  • Server: For HTTP/HTTPS services
  • Terraform: For infrastructure as code services
  • Chart: For Helm chart services

Setting Up GitHub Actions

1

Access GitHub Actions Setup

There are two ways to set up GitHub Actions:

  1. After creating a new service, click the Setup GitHub Actions button in the success screen
  2. For existing services, click the three-dot menu next to your service and select Setup GitHub Actions
2

Configure Workflow

In the setup dialog:

  1. Review the workflow description
  2. Click Setup GitHub Actions to proceed
  3. Wait while Ryvn creates the necessary workflow files
3

Review Pull Request

Once the setup is complete:

  1. Click View Pull Request to open the created PR in GitHub
  2. Review the workflow configuration
  3. Merge the pull request to enable automated releases

Understanding the Workflow

The GitHub Actions workflow Ryvn creates will:

  1. Build your application when you push changes
  2. Create a release in Ryvn
  3. Deploy the release to environments based on your release channel configuration

Workflow Files

Ryvn creates two main files in your repository:

  • .github/workflows/ryvn.yml: The main workflow configuration
  • .github/ryvn.yml: Configuration for release creation

Release Process

When you push changes to your repository:

  1. GitHub Actions builds your application
  2. If successful, it creates a release in Ryvn
  3. The release is automatically deployed to environments subscribed to the appropriate release channel

Version Control

Ryvn follows semantic versioning (MAJOR.MINOR.PATCH) for releases. You can control version numbers by:

  • Using Git tags (e.g., v1.2.3)
  • Letting Ryvn auto-increment the version

Troubleshooting

Common issues and solutions:

Workflow Not Running

  • Verify the workflow file exists in .github/workflows/ryvn.yml
  • Check GitHub repository permissions
  • Ensure the branch is properly configured

Build Failures

  • Review build logs in GitHub Actions
  • Verify all dependencies are properly specified
  • Check resource limits in workflow configuration

Deployment Issues

  • Confirm release channel configuration
  • Check maintenance window settings
  • Review environment health checks

If you need to recreate the GitHub Actions workflow, you can use the Setup GitHub Actions option again, which will create a new pull request with the latest configuration.

Security Considerations

The GitHub Actions workflow uses:

  • Encrypted secrets for Ryvn authentication
  • Limited-scope tokens for release creation
  • Secure environment variables

Never commit Ryvn credentials or sensitive information directly in workflow files. Use GitHub Secrets for sensitive values.