name: Release
on:
push:
tags:
- 'v*'
jobs:
build-release:
name: Build Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc make
- name: Build all tests
run: make all
- name: Run all tests
run: |
./test_lexer
./test_parser
./test_semantic
./test_ir
./test_runtime
./test_strings
./test_arrays
./test_objects
./test_instance_methods
./test_fileio
- name: Build benchmark
run: make test_benchmark
- name: Run benchmark
run: ./test_benchmark
- name: Package release
run: |
mkdir -p release
cp test_benchmark release/rava-benchmark
cp -r examples release/
cp README.md release/
tar -czvf rava-${{ github.ref_name }}.tar.gz release/
- name: Upload release artifact
uses: actions/upload-artifact@v4
with:
name: rava-${{ github.ref_name }}
path: rava-${{ github.ref_name }}.tar.gz