name: Release on: push: tags: - 'v*' permissions: contents: write jobs: build-and-release: name: Build ${{ matrix.platform }} runs-on: ${{ matrix.os }} strategy: matrix: include: - os: macos-latest platform: darwin/amd64 artifact_name: GoNavi-mac-amd64 - os: macos-latest platform: darwin/arm64 artifact_name: GoNavi-mac-arm64 - os: windows-latest platform: windows/amd64 artifact_name: GoNavi-windows-amd64 steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.24' check-latest: true - name: Setup Node uses: actions/setup-node@v4 with: node-version: '20' - name: Install Wails run: go install github.com/wailsapp/wails/v2/cmd/wails@latest - name: Build shell: bash run: | wails build -platform ${{ matrix.platform }} -clean -o ${{ matrix.artifact_name }} - name: Package (macOS) if: runner.os == 'macOS' run: | cd build/bin zip -r ../../${{ matrix.artifact_name }}.zip ${{ matrix.artifact_name }}.app - name: Package (Windows) if: runner.os == 'Windows' shell: bash run: | mv build/bin/${{ matrix.artifact_name }}.exe . - name: Upload Release Asset uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: | ${{ matrix.artifact_name }}.zip ${{ matrix.artifact_name }}.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}