https://github.com/ysdragon/ring-action
A GitHub Action that compiles Ring Programming Language projects
https://github.com/ysdragon/ring-action
github-actions ring ring-programming-language
Last synced: 9 months ago
JSON representation
A GitHub Action that compiles Ring Programming Language projects
- Host: GitHub
- URL: https://github.com/ysdragon/ring-action
- Owner: ysdragon
- License: mit
- Created: 2024-10-28T01:49:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-09T19:03:25.000Z (9 months ago)
- Last Synced: 2025-05-09T20:20:29.662Z (9 months ago)
- Topics: github-actions, ring, ring-programming-language
- Language: Dockerfile
- Homepage:
- Size: 35.2 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ring Action


A GitHub Action that compiles [Ring](https://ring-lang.net/) Programming Language projects.
## Features
- Compile Ring source files
- Generate executable files using Ring2EXE
- Install packages from RingPM
- Flexible version management:
- Linux/macOS: Build custom Ring versions from source
- Windows: Pre-built Ring releases
- Fast and lightweight
- Cross-platform support (Windows, macOS, Linux)
## Platform & Architecture Support
| Platform | Architecture | Supported | Notes |
|----------|--------------|-----------|--------|
| Linux | x64 | ✅ | Full support |
| Linux | x86 | ❌ | Not supported |
| Linux | ARM64 | ✅ | Full support |
| Linux | RISCV64 | ❌ | Not supported |
| macOS | Intel | ✅ | Full support |
| macOS | Apple Silicon | ❌ | Not supported |
| Windows | x64 | ✅ | Pre-built binaries only |
| Windows | x86 | ❌ | Not supported |
| Windows | ARM64 | ❌ | Not supported |
## Inputs
| Input | Required | Default | Description |
|-------|----------|---------|-------------|
| `file` | ✅ | - | Path to the Ring source file to build |
| `output_exe` | ❌ | `false` | Set to `true` to generate an executable using Ring2EXE |
| `args` | ❌ | - | Additional arguments to pass to Ring or Ring2EXE |
| `ring_packages` | ❌ | - | Space-separated list of packages to install from RingPM |
| `version` | ❌ | `v1.22` | Ring compiler version to use |
## Usage Examples
### Simple example
```yaml
uses: ysdragon/ring-action@v1.0.3
with:
file: "program.ring"
```
### Linux
```yaml
name: Linux Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Linux executable
uses: ysdragon/ring-action@v1.0.3
with:
file: "program.ring"
output_exe: "true"
args: "-static"
```
### macOS
```yaml
name: macOS Intel Build
on: [push]
jobs:
build:
runs-on: macos-12
steps:
- uses: actions/checkout@v4
- name: Build macOS Intel app
uses: ysdragon/ring-action@v1.0.3
with:
file: "program.ring"
output_exe: "true"
```
### Windows
```yaml
name: Windows x64 Build
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Build Windows x64 executable
uses: ysdragon/ring-action@v1.0.3
with:
file: "program.ring"
output_exe: "true"
args: "-static"
```
### Cross-Platform Build
```yaml
name: Cross-Platform Build
on: [push]
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-12]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Build Ring project
uses: ysdragon/ring-action@v1.0.3
with:
file: "program.ring"
output_exe: "true"
```
## License
This project is open source and available under the [MIT](https://github.com/ysdragon/ring-action/blob/main/LICENSE) License.