This repository was archived by the owner on Jul 8, 2026. It is now read-only.
Add drag-and-drop reordering of tree rows #63
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: Build & Test | |
| on: | |
| push: | |
| branches: [main, egui] | |
| tags: | |
| - 'v*.*.*' | |
| pull_request: | |
| workflow_dispatch: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| test: | |
| name: Test (Linux) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Run tests (includes large-asset corpus) | |
| run: cargo test --release --workspace | |
| build: | |
| name: Build (${{ matrix.name }}) | |
| needs: test | |
| if: github.event_name != 'pull_request' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: windows-x64 | |
| os: windows-latest | |
| - name: linux-x64 | |
| os: ubuntu-latest | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build release binary | |
| run: cargo build --release -p vdata-editor | |
| - name: Package (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| New-Item -ItemType Directory -Path package | Out-Null | |
| Copy-Item target/release/vdata-editor.exe package/VDataEditor.exe | |
| Copy-Item -Recurse schemas package/schemas | |
| Copy-Item README.md package/README.md | |
| Compress-Archive -Path package/* -DestinationPath VDataEditor-windows-x64.zip | |
| - name: Package (Linux) | |
| if: runner.os == 'Linux' | |
| run: | | |
| mkdir -p package/VDataEditor | |
| cp target/release/vdata-editor package/VDataEditor/VDataEditor | |
| cp -r schemas package/VDataEditor/schemas | |
| cp README.md package/VDataEditor/README.md | |
| tar -C package -czf VDataEditor-linux-x64.tar.gz VDataEditor | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: VDataEditor-${{ matrix.name }} | |
| path: | | |
| VDataEditor-windows-x64.zip | |
| VDataEditor-linux-x64.tar.gz | |
| if-no-files-found: error | |
| dev-release: | |
| name: Publish dev release | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/egui' | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| merge-multiple: true | |
| - name: Update dev-build release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: dev-build | |
| name: Dev build (egui) | |
| prerelease: true | |
| target_commitish: ${{ github.sha }} | |
| body: | | |
| Rolling development build of the Rust/egui rewrite, produced | |
| automatically from the `egui` branch. | |
| Commit: ${{ github.sha }} | |
| The app is portable: unzip anywhere and run `VDataEditor` | |
| (settings are stored next to the executable). | |
| files: | | |
| VDataEditor-windows-x64.zip | |
| VDataEditor-linux-x64.tar.gz | |
| release: | |
| name: Publish release | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')) | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| merge-multiple: true | |
| - name: Upload to GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || 'latest-build' }} | |
| name: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || 'Latest Build' }} | |
| prerelease: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
| target_commitish: ${{ github.sha }} | |
| files: | | |
| VDataEditor-windows-x64.zip | |
| VDataEditor-linux-x64.tar.gz |