Skip to content

ci(CI): 启用自动发布 #37

ci(CI): 启用自动发布

ci(CI): 启用自动发布 #37

Workflow file for this run

name: C++ CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '27 21 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache CMake build
uses: actions/cache@v3
with:
path: build
key: ${{ runner.os }}-cmake-${{ hashFiles('**/CMakeLists.txt') }}
restore-keys: |
${{ runner.os }}-cmake-
- name: Cache ANTLR4 build
uses: actions/cache@v3
with:
path: /usr/local/lib/antlr4-runtime
key: ${{ runner.os }}-antlr4-${{ hashFiles('**/CMakeLists.txt') }}
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y cmake g++ uuid-dev
- name: Install ANTLR4
run: |
cd /tmp
wget https://www.antlr.org/download/antlr4-cpp-runtime-4.13.1-source.zip
unzip antlr4-cpp-runtime-4.13.1-source.zip -d antlr4-cpp-runtime-4.13.1-source/
cd antlr4-cpp-runtime-4.13.1-source
mkdir build && cd build
cmake .. -DANTLR4_INSTALL=ON
make -j$(nproc)
sudo make install
- name: Configure CMake
run: |
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
- name: Build
run: |
cd build
make
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: nightly-${{ github.run_id }} # 使用运行ID作为唯一标识
release_name: "Nightly Build - ${{ github.run_id }}"
draft: false
prerelease: true
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: build/Riddle_Language.exe
asset_name: Riddle_Language.exe
asset_content_type: application/octet-stream