name: Build on: push: tags: - v* workflow_dispatch: jobs: build_macos: name: Build for MacOS runs-on: macos-13 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v4 with: go-version: '^1.18' - name: Build arm64 gui uses: ./.github/actions/prepare with: id: darwin_arm64_gui cmd: make darwin_arm64_gui out: out/darwin_arm64_gui/yarr.app - name: Build amd64 gui uses: ./.github/actions/prepare with: id: darwin_amd64_gui cmd: make darwin_amd64_gui out: out/darwin_amd64_gui/yarr.app - name: Build arm64 uses: ./.github/actions/prepare with: id: darwin_arm64 cmd: make darwin_arm64 out: out/darwin_arm64/yarr - name: Build amd64 uses: ./.github/actions/prepare with: id: darwin_amd64 cmd: make darwin_amd64 out: out/darwin_amd64/yarr build_windows: name: Build for Windows runs-on: windows-2022 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v4 with: go-version: '^1.18' - name: Setup Zig uses: mlugg/setup-zig@v1 with: version: 0.14.0 - name: Build arm64 gui uses: ./.github/actions/prepare with: id: windows_arm64_gui cmd: make windows_arm64_gui out: out/windows_arm64_gui/yarr.app - name: Build amd64 gui uses: ./.github/actions/prepare with: id: windows_amd64_gui cmd: make windows_amd64_gui out: out/windows_amd64_gui/yarr.app - name: Build arm64 uses: ./.github/actions/prepare with: id: windows_arm64 cmd: make windows_arm64 out: out/windows_arm64/yarr - name: Build amd64 uses: ./.github/actions/prepare with: id: windows_amd64 cmd: make windows_amd64 out: out/windows_amd64/yarr build_linux: name: Build for Linux runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v4 with: go-version: '^1.18' - name: Setup Zig uses: mlugg/setup-zig@v1 with: version: 0.14.0 - name: Build amd64 uses: ./.github/actions/prepare with: id: windows_amd64 cmd: make windows_amd64 out: out/windows_amd64/yarr - name: Build arm64 uses: ./.github/actions/prepare with: id: windows_arm64 cmd: make windows_arm64 out: out/windows_arm64/yarr - name: Build armv7 uses: ./.github/actions/prepare with: id: windows_armv7 cmd: make windows_armv7 out: out/windows_armv7/yarr create_release: name: Create Release runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/') }} needs: [build_macos, build_windows, build_linux] steps: - name: Download Artifacts uses: actions/download-artifact@v4.1.7 with: path: . - name: Preparation run: | ls -R - name: Upload Release if: false uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: draft: true prerelease: true files: *.zip