diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..cee7c85 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,98 @@ +name: "Build and Package" +on: + workflow_dispatch: + push: + tags: + - v* + +env: + FORCE_COLOR: "1" + +defaults: + run: + shell: bash + +jobs: + package: + name: Build and Package + runs-on: ${{ matrix.runs-on }} + strategy: + fail-fast: false + matrix: + target: [ "macOS" ] + include: + - target: "macOS" + output-format: "app" + runs-on: "macos-latest" + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v6 + + - name: Install Python 3.13 + run: uv python install 3.13 + + - name: Setup Environment + run: uv sync + + - name: Build App + run: | + ${{ matrix.briefcase-build-prefix }} \ + uv run briefcase build \ + ${{ matrix.platform || matrix.target }} \ + ${{ matrix.output-format }} \ + --test --no-input --log \ + ${{ matrix.briefcase-args }} \ + ${{ matrix.briefcase-build-args }} + + - name: Package App + run: | + ${{ matrix.briefcase-package-prefix }} \ + uv run briefcase package \ + ${{ matrix.platform || matrix.target }} \ + ${{ matrix.output-format }} \ + --update --adhoc-sign --no-input --log \ + ${{ matrix.briefcase-args }} \ + ${{ matrix.briefcase-package-args }} + + - name: Upload App + uses: actions/upload-artifact@v4 + with: + name: App-${{ matrix.target }} + path: dist + if-no-files-found: error + + - name: Upload Log + if: failure() + uses: actions/upload-artifact@v4 + with: + name: Log-Failure-${{ matrix.target }} + path: logs/* + + + release: + name: "Upload Release" + runs-on: ubuntu-latest + needs: + - package + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download macOS build + with: + name: App-macOS + path: dist/ + + - name: Display all files + run: ls -R + + - name: Create Release + uses: softprops/action-gh-release@v2 + with: + files: dist/* + fail_on_unmatched_files: true diff --git a/pyproject.toml b/pyproject.toml index f431bc9..41f6e91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,12 @@ [tool.briefcase] project_name = "illogical" bundle = "com.kotikot.illogical" -version = "0.0.1" +version = "1.0.0" url = "https://dsp.kotikot.com/illogical" license.file = "LICENSE" author = "h" author_email = "h@kotikot.com" +icon = "src/illogical/resources/icon" [tool.briefcase.app.illogical] formal_name = "illogical" diff --git a/src/illogical/resources/README b/src/illogical/resources/README deleted file mode 100644 index 4ef2794..0000000 --- a/src/illogical/resources/README +++ /dev/null @@ -1,2 +0,0 @@ -Put any application resources (e.g., icons and resources) here; -they can be referenced in code as "resources/filename". diff --git a/src/illogical/resources/icon.icns b/src/illogical/resources/icon.icns new file mode 100644 index 0000000..42737d6 Binary files /dev/null and b/src/illogical/resources/icon.icns differ