Update inklab.db #35
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: Release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| jobs: | |
| release: | |
| name: Build and Release | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-latest, ubuntu-latest, macos-latest] | |
| include: | |
| - os: windows-latest | |
| platform: windows/amd64 | |
| artifact_base: InkLab-Windows | |
| artifact_ext: zip | |
| build_tags: "" | |
| - os: ubuntu-latest | |
| platform: linux/amd64 | |
| artifact_base: InkLab-Linux | |
| artifact_ext: tar.gz | |
| build_tags: "-tags webkit2_41" | |
| - os: macos-latest | |
| platform: darwin/universal | |
| artifact_base: InkLab-macOS | |
| artifact_ext: zip | |
| build_tags: "" | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| lfs: false | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.23" | |
| check-latest: true | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| - name: Install Linux Dependencies | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev | |
| - name: Install Wails | |
| run: go install github.com/wailsapp/wails/v2/cmd/wails@v2.11.0 | |
| - name: Install Frontend Dependencies | |
| working-directory: frontend | |
| run: npm install | |
| - name: Set build version | |
| shell: bash | |
| run: | | |
| VERSION="${{ github.ref_name }}" | |
| VERSION="${VERSION#v}" | |
| node -e "const fs=require('fs');const j=JSON.parse(fs.readFileSync('wails.json'));j.info.productVersion='$VERSION';fs.writeFileSync('wails.json',JSON.stringify(j,null,4)+'\n');" | |
| echo "Set wails.json productVersion to $VERSION" | |
| - name: Build | |
| run: wails build -platform ${{ matrix.platform }} -skipbindings ${{ matrix.build_tags }} -ldflags "-X main.Version=${{ github.ref_name }} -X main.Repo=${{ github.repository }}" | |
| # --- Windows Packaging --- | |
| # The database is embedded in the binary; icons/maps/npc_images are built | |
| # locally by the user (Import tab) and created under data/ on first run. | |
| # So we ship just the executable — no empty data folders. | |
| - name: Package Windows | |
| if: matrix.os == 'windows-latest' | |
| shell: pwsh | |
| run: | | |
| Compress-Archive -Path "build/bin/InkLab.exe" -DestinationPath "InkLab-Windows-${{ github.ref_name }}.zip" | |
| # --- Linux Packaging --- | |
| - name: Package Linux | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| tar -czvf "InkLab-Linux-${{ github.ref_name }}.tar.gz" -C build/bin InkLab | |
| # --- macOS Packaging --- | |
| - name: Package macOS | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| cd build/bin | |
| ditto -c -k --sequesterRsrc --keepParent InkLab.app InkLab.app.zip | |
| mv InkLab.app.zip "../../InkLab-macOS-${{ github.ref_name }}.zip" | |
| - name: Upload Release Asset | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: ${{ matrix.artifact_base }}-${{ github.ref_name }}.${{ matrix.artifact_ext }} | |
| draft: false | |
| prerelease: false | |
| generate_release_notes: true |