This repository was archived by the owner on Aug 18, 2025. It is now read-only.
更新CHANGELOG.md,新增v0.2.5版本信息,包含常量定义和文件操作功能的支持,修复了常量使用中的问题,并增加了LICENSE文件。 #25
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 构建CodeNothing解释器 | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths-ignore: | |
| - 'library_*/**' | |
| - '**.md' | |
| tags: | |
| - 'v*' # 添加标签触发 | |
| pull_request: | |
| branches: [ main ] | |
| paths-ignore: | |
| - 'library_*/**' | |
| - '**.md' | |
| release: | |
| types: [created] # 发布版本时触发 | |
| workflow_dispatch: # 允许手动触发 | |
| # 添加权限设置 | |
| permissions: | |
| contents: write | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build: | |
| name: 构建解释器 | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [windows-latest, ubuntu-latest, macos-latest] | |
| include: | |
| - os: windows-latest | |
| artifact_name: codenothing-windows | |
| asset_name: codenothing-windows.zip | |
| release_name: Windows | |
| - os: ubuntu-latest | |
| artifact_name: codenothing-linux | |
| asset_name: codenothing-linux.tar.gz | |
| release_name: Linux | |
| - os: macos-latest | |
| artifact_name: codenothing-macos | |
| asset_name: codenothing-macos.tar.gz | |
| release_name: macOS | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: 设置Rust工具链 | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| override: true | |
| - name: 构建 | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: build | |
| args: --release | |
| - name: 创建输出目录 | |
| run: mkdir -p release-package | |
| shell: bash | |
| - name: 打包Windows | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| cp target/release/codenothing.exe release-package/ | |
| # 如果examples目录存在,则复制 | |
| if [ -d "examples" ]; then | |
| cp -r examples release-package/ | |
| else | |
| echo "警告:examples目录不存在,跳过复制" | |
| # 创建一个空的examples目录,确保有内容 | |
| mkdir -p release-package/examples | |
| echo "# CodeNothing 示例" > release-package/examples/README.md | |
| fi | |
| 7z a ${{ matrix.asset_name }} ./release-package/* | |
| shell: bash | |
| - name: 打包Linux/macOS | |
| if: matrix.os != 'windows-latest' | |
| run: | | |
| cp target/release/CodeNothing release-package/ | |
| # 如果examples目录存在,则复制 | |
| if [ -d "examples" ]; then | |
| cp -r examples release-package/ | |
| else | |
| echo "警告:examples目录不存在,跳过复制" | |
| # 创建一个空的examples目录,确保有内容 | |
| mkdir -p release-package/examples | |
| echo "# CodeNothing 示例" > release-package/examples/README.md | |
| fi | |
| tar -czvf ${{ matrix.asset_name }} -C release-package . | |
| shell: bash | |
| - name: 上传构建产物 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact_name }} | |
| path: ${{ matrix.asset_name }} | |
| - name: 创建发布 | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'release' | |
| with: | |
| files: ${{ matrix.asset_name }} | |
| tag_name: ${{ github.ref_name }} | |
| draft: false | |
| generate_release_notes: true |