47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
name: Build FoxLang
|
|
|
|
on:
|
|
push:
|
|
branches: ["main", "master"]
|
|
pull_request:
|
|
branches: ["main", "master"]
|
|
|
|
jobs:
|
|
# --- Сборка для Linux (Ubuntu) ---
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Compile with G++
|
|
run: |
|
|
g++ -std=c++17 src/main.cpp src/Lexer.cpp src/Parser.cpp -o foxlang
|
|
|
|
- name: Upload Linux Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: foxlang-linux
|
|
path: foxlang
|
|
|
|
# --- Сборка для Windows (MSVC) ---
|
|
build-windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup MSVC
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
|
|
- name: Compile with CL (MSVC)
|
|
# Используем флаги: /EHsc (обработка исключений), /std:c++17, /Fe (имя выходного файла)
|
|
run: |
|
|
cl /EHsc /std:c++17 src/main.cpp src/Lexer.cpp src/Parser.cpp /Fefoxlang.exe
|
|
|
|
- name: Upload Windows Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: foxlang-windows
|
|
path: foxlang.exe
|