This repository was archived by the owner on Aug 18, 2025. It is now read-only.
更新CHANGELOG.md,新增v0.2.4版本信息,包含JSON库的功能介绍及修复记录。具体包括JSON字符串解析、格式化、对象和数组… #21
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 |