diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 35d5a5a..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build AppImage, Windows EXE and Publish Release - -on: -# push: -# branches: -# - main - tags: - - 'v*.*.*' - workflow_dispatch: - -permissions: - contents: write - -jobs: - build-linux: - runs-on: ubuntu-latest - name: Build AppImage - outputs: - artifact_path: ${{ steps.upload_artifacts.outputs.artifact_path }} - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - ref: ${{ github.ref }} - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - - name: Install PyInstaller and dependencies - run: pip install pyinstaller - - - name: Build Linux executable with PyInstaller - run: | - pyinstaller --onefile --windowed time_logix.py - - - name: Create AppDir and Files - run: | - mkdir -p AppDir/usr/bin - cp dist/time_logix AppDir/usr/bin/time_logix - # Create AppRun file - cat <<'EOF' > AppDir/AppRun - #!/bin/bash - HERE="$(dirname "$(readlink -f "${0}")")" - exec "$HERE/usr/bin/time_logix" "$@" - EOF - chmod +x AppDir/AppRun - # Create desktop file with icon reference - cat <<'EOF' > AppDir/time_logix.desktop - [Desktop Entry] - Type=Application - Name=TimeLogix - Exec=time_logix - Icon=appicon - Comment=Time tracking app for contractors - Categories=Utility; - EOF - # Download a placeholder icon and save it as appicon.png in AppDir - wget -q -O AppDir/appicon.png https://placehold.co/256 - - - name: Install FUSE library - run: sudo apt-get update && sudo apt-get install -y libfuse2 - - - name: Download appimagetool - run: | - wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage - chmod +x appimagetool-x86_64.AppImage - - - name: Build AppImage - run: ./appimagetool-x86_64.AppImage AppDir - - - name: Upload Linux Artifact - id: upload_artifacts - uses: actions/upload-artifact@v4 - with: - name: TimeLogix-AppImage - path: TimeLogix*-x86_64.AppImage - - build-windows: - runs-on: windows-latest - name: Build Windows Executable - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - ref: ${{ github.ref }} - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - - name: Install PyInstaller - run: pip install pyinstaller - - - name: Build Windows executable with PyInstaller - run: pyinstaller --onefile --windowed time_logix.py - - - name: Upload Windows Artifact - uses: actions/upload-artifact@v4 - with: - name: TimeLogix-Windows - path: dist/time_logix.exe - - release: - name: Publish Release - needs: - - build-linux - - build-windows - runs-on: ubuntu-latest - steps: - - name: Retrieve Linux artifact - uses: actions/download-artifact@v4 - with: - name: TimeLogix-AppImage - - - name: Retrieve Windows artifact - uses: actions/download-artifact@v4 - with: - name: TimeLogix-Windows - - - name: Create GitHub Release - id: create_release - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ github.ref_name }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install/Update GitHub CLI and Update PATH - run: | - gh --version - # Import the GitHub CLI public key directly using gpg - curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /tmp/githubcli-archive-keyring.gpg - sudo mv /tmp/githubcli-archive-keyring.gpg /usr/share/keyrings/githubcli-archive-keyring.gpg - - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null - sudo apt update - sudo apt install gh --yes - gh --version - - # Get the directory where gh is installed - GH_PATH=$(dirname $(which gh)) - - # Add the path to the environment file - echo "GH_PATH=$GH_PATH" >> $GITHUB_ENV - echo "PATH=$GH_PATH:$PATH" >> $GITHUB_PATH - - - name: Upload Linux AppImage to Release - shell: bash - run: | - gh release upload ${{ github.ref_name }} ./$(ls | grep AppImage) \ - --name TimeLogix-AppImage.AppImage \ - --label "Linux AppImage" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_PATH: ${{ env.GH_PATH }} - - - - name: Upload Windows EXE to Release - shell: bash - run: | - gh release upload ${{ github.ref_name }} ./$(ls | grep .exe) \ - --name TimeLogix-Windows.exe \ - --label "Windows Executable" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}