mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-06 02:59:28 +00:00
feat: add Linux packaging support (#70)
Some checks failed
Some checks failed
* Refactor CI workflow and add Linux packaging support; update app title to "Vaani" * Refactor CI workflow to separate setup, testing, and building steps; add Linux AppImage packaging support * use reusable workflow * Make Flutter version input optional in setup-env action and rename step in workflow * Replace setup-env action with reusable flutter-setup workflow; streamline CI configuration and enhance dependency management * Add Flutter setup composite action for streamlined environment configuration * Move repository checkout step to the main workflow for better control and clarity in the CI process * Remove unnecessary shell specification for Flutter dependency setup to simplify action configuration * Add shell specification for Flutter dependency command to enhance cross-platform compatibility * Comment out static analysis step in Flutter test workflow to streamline CI process * Add repository checkout and Flutter environment setup steps to CI workflow * Add installation of Linux dependencies for Flutter test workflow * Remove obsolete Flutter setup and release workflows to streamline CI configuration * Fix formatting in make_config.yaml by ensuring newline at end of file
This commit is contained in:
parent
412c212118
commit
4663ff9094
9 changed files with 402 additions and 158 deletions
46
.github/actions/flutter-setup/action.yaml
vendored
Normal file
46
.github/actions/flutter-setup/action.yaml
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
# .github/actions/flutter-setup/action.yml
|
||||||
|
name: "Flutter Setup Composite Action"
|
||||||
|
description: "Checks out code, sets up Java/Flutter, caches, and runs pub get"
|
||||||
|
|
||||||
|
# Define inputs for customization (optional, but good practice)
|
||||||
|
inputs:
|
||||||
|
flutter-channel:
|
||||||
|
description: "Flutter channel to use (stable, beta, dev, master)"
|
||||||
|
required: false
|
||||||
|
default: "stable"
|
||||||
|
java-version:
|
||||||
|
description: "Java version to set up"
|
||||||
|
required: false
|
||||||
|
default: "17"
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite" # Specify this is a composite action
|
||||||
|
steps:
|
||||||
|
- name: Set up Java
|
||||||
|
uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
distribution: "temurin"
|
||||||
|
java-version: ${{ inputs.java-version }}
|
||||||
|
|
||||||
|
- name: Set up Flutter SDK
|
||||||
|
uses: subosito/flutter-action@v2
|
||||||
|
with:
|
||||||
|
channel: ${{ inputs.flutter-channel }}
|
||||||
|
flutter-version-file: pubspec.yaml
|
||||||
|
cache: true # Cache Flutter SDK itself
|
||||||
|
|
||||||
|
- name: Cache Flutter dependencies
|
||||||
|
id: cache-pub
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ${{ env.FLUTTER_HOME }}/.pub-cache
|
||||||
|
key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-flutter-pub-
|
||||||
|
|
||||||
|
- name: Get Flutter dependencies
|
||||||
|
run: flutter pub get
|
||||||
|
# Use shell: bash for potential cross-platform compatibility in complex commands
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Add other common setup steps if needed
|
||||||
182
.github/workflows/flutter-ci.yaml
vendored
Normal file
182
.github/workflows/flutter-ci.yaml
vendored
Normal file
|
|
@ -0,0 +1,182 @@
|
||||||
|
name: Flutter CI & Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
tags: ["v*.*.*"]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Setup Flutter Environment
|
||||||
|
uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
||||||
|
# Pass inputs if needed (optional, using defaults here)
|
||||||
|
# with:
|
||||||
|
# flutter-channel: 'stable'
|
||||||
|
# java-version: '17'
|
||||||
|
# Debug: Echo current directory contents
|
||||||
|
- name: List root directory contents
|
||||||
|
run: |
|
||||||
|
pwd
|
||||||
|
ls -la
|
||||||
|
|
||||||
|
# Debug: Recursive directory structure
|
||||||
|
- name: Show full directory structure
|
||||||
|
run: |
|
||||||
|
echo "Full directory structure:"
|
||||||
|
tree -L 3
|
||||||
|
|
||||||
|
# Debug: Submodule status and details
|
||||||
|
- name: Check submodule status
|
||||||
|
run: |
|
||||||
|
echo "Submodule status:"
|
||||||
|
git submodule status
|
||||||
|
|
||||||
|
echo "\nSubmodule details:"
|
||||||
|
git submodule foreach 'echo $path: && pwd && ls -la'
|
||||||
|
|
||||||
|
# - name: Run static analysis
|
||||||
|
# run: flutter analyze
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: flutter test
|
||||||
|
|
||||||
|
build_android:
|
||||||
|
name: Build Android APKs
|
||||||
|
needs: test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Setup Flutter Environment
|
||||||
|
uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
||||||
|
with:
|
||||||
|
flutter-channel: stable
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
|
- name: Decode android/upload.jks
|
||||||
|
run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
||||||
|
|
||||||
|
- name: Decode android/key.properties
|
||||||
|
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
||||||
|
|
||||||
|
- name: Build APKs
|
||||||
|
run: flutter build apk --release --split-per-abi
|
||||||
|
|
||||||
|
- name: Build Universal APK
|
||||||
|
run: flutter build apk --release
|
||||||
|
|
||||||
|
- name: Rename Universal APK
|
||||||
|
run: mv build/app/outputs/flutter-apk/{app-release,app-universal-release}.apk
|
||||||
|
|
||||||
|
- name: Build App Bundle
|
||||||
|
run: flutter build appbundle --release
|
||||||
|
|
||||||
|
- name: Upload Android APK Artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: android-release-artifacts
|
||||||
|
path: |
|
||||||
|
build/app/outputs/flutter-apk/*-release*.apk
|
||||||
|
build/app/outputs/bundle/release/*.aab
|
||||||
|
|
||||||
|
build_linux:
|
||||||
|
needs: test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Setup Flutter Environment
|
||||||
|
uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
||||||
|
|
||||||
|
- name: Install Linux dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
|
||||||
|
shell: bash
|
||||||
|
- name: setup fastforge
|
||||||
|
run: |
|
||||||
|
dart pub global activate fastforge
|
||||||
|
- name: Build Linux AppImage
|
||||||
|
run: fastforge package --platform linux --targets deb
|
||||||
|
|
||||||
|
- name: Upload deb Artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: linux-release-artifacts
|
||||||
|
path: |
|
||||||
|
dist/*/*.deb
|
||||||
|
|
||||||
|
# Job 4: Create GitHub Release (NEW - runs only on tag pushes)
|
||||||
|
create_release:
|
||||||
|
name: Create GitHub Release
|
||||||
|
needs: [build_android, build_linux] # Depends on successful builds
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write # Need write access to create release
|
||||||
|
# <<< CONDITION: Only run this job if the trigger was a tag starting with 'v'
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# No checkout needed if only downloading artifacts and using context variables
|
||||||
|
# - name: Checkout repository
|
||||||
|
# uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# Download artifacts created earlier IN THIS SAME WORKFLOW RUN
|
||||||
|
- name: Download Android Artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: android-release-artifacts
|
||||||
|
path: ./release-artifacts/android
|
||||||
|
|
||||||
|
- name: Download Linux Artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: linux-release-artifacts
|
||||||
|
path: ./release-artifacts/linux
|
||||||
|
|
||||||
|
- name: List downloaded files (for debugging)
|
||||||
|
run: ls -R ./release-artifacts
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Extract version info from the tag
|
||||||
|
- name: Extract Version from Tag
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
TAG_NAME=${GITHUB_REF#refs/tags/}
|
||||||
|
VERSION=${TAG_NAME#v}
|
||||||
|
echo "tag=${TAG_NAME}" >> $GITHUB_OUTPUT
|
||||||
|
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Generate release notes (optional, consider its configuration for tags)
|
||||||
|
- name: Generate Release Notes
|
||||||
|
id: generate_release_notes
|
||||||
|
uses: release-drafter/release-drafter@v6
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# Create the GitHub Release using downloaded artifacts
|
||||||
|
- name: Create GitHub Release
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
artifacts: "./release-artifacts/**/*" # Use downloaded artifacts
|
||||||
|
name: Release v${{ steps.version.outputs.version }}
|
||||||
|
tag: ${{ github.ref }}
|
||||||
|
body: ${{ steps.generate_release_notes.outputs.body }}
|
||||||
|
# token: ${{ secrets.GITHUB_TOKEN }} # Usually inferred
|
||||||
81
.github/workflows/flutter_release.yaml
vendored
81
.github/workflows/flutter_release.yaml
vendored
|
|
@ -1,81 +0,0 @@
|
||||||
name: Flutter Release Workflow
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v**"
|
|
||||||
# manually trigger a release if needed
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
permissions:
|
|
||||||
# write permission is required to create a github release
|
|
||||||
contents: write
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Set Up Java
|
|
||||||
uses: actions/setup-java@v3.12.0
|
|
||||||
with:
|
|
||||||
distribution: "oracle"
|
|
||||||
java-version: "17"
|
|
||||||
|
|
||||||
- name: Set up Flutter
|
|
||||||
uses: subosito/flutter-action@v2
|
|
||||||
with:
|
|
||||||
channel: "stable"
|
|
||||||
flutter-version-file: pubspec.yaml
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: flutter pub get
|
|
||||||
|
|
||||||
# - name: Run tests
|
|
||||||
# run: flutter test
|
|
||||||
|
|
||||||
- name: Decode android/upload.jks
|
|
||||||
run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
|
||||||
|
|
||||||
- name: Decode android/key.properties
|
|
||||||
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
|
||||||
|
|
||||||
- name: Build APKs
|
|
||||||
run: flutter build apk --release --split-per-abi
|
|
||||||
|
|
||||||
- name: Build Universal APK
|
|
||||||
run: flutter build apk --release
|
|
||||||
|
|
||||||
- name: Rename Universal APK
|
|
||||||
run: mv build/app/outputs/flutter-apk/{app-release,app-universal-release}.apk
|
|
||||||
|
|
||||||
- name: Build App Bundle
|
|
||||||
run: flutter build appbundle --release
|
|
||||||
|
|
||||||
- name: version
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
tag=${GITHUB_REF/refs\/tags\//}
|
|
||||||
version=${tag#v}
|
|
||||||
major=${version%%.*}
|
|
||||||
echo "tag=${tag}" >> $GITHUB_OUTPUT
|
|
||||||
echo "version=${version}" >> $GITHUB_OUTPUT
|
|
||||||
echo "major=${major}" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Generate Release Notes
|
|
||||||
id: generate_release_notes
|
|
||||||
uses: release-drafter/release-drafter@v6
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ github.token }}
|
|
||||||
|
|
||||||
- name: Create GitHub Release
|
|
||||||
uses: ncipollo/release-action@v1
|
|
||||||
with:
|
|
||||||
artifacts: "build/app/outputs/flutter-apk/*-release*.apk,build/app/outputs/bundle/release/*.aab"
|
|
||||||
name: v${{ steps.version.outputs.version }}
|
|
||||||
tag: ${{ github.ref }}
|
|
||||||
body: ${{ steps.generate_release_notes.outputs.body }}
|
|
||||||
74
.github/workflows/flutter_test.yaml
vendored
74
.github/workflows/flutter_test.yaml
vendored
|
|
@ -1,74 +0,0 @@
|
||||||
name: Flutter Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
# Allows you to run this workflow manually from the Actions tab
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
# This ensures submodules are cloned
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
# Debug: Echo current directory contents
|
|
||||||
- name: List root directory contents
|
|
||||||
run: |
|
|
||||||
pwd
|
|
||||||
ls -la
|
|
||||||
|
|
||||||
# Debug: Recursive directory structure
|
|
||||||
- name: Show full directory structure
|
|
||||||
run: |
|
|
||||||
echo "Full directory structure:"
|
|
||||||
tree -L 3
|
|
||||||
|
|
||||||
# Debug: Submodule status and details
|
|
||||||
- name: Check submodule status
|
|
||||||
run: |
|
|
||||||
echo "Submodule status:"
|
|
||||||
git submodule status
|
|
||||||
|
|
||||||
echo "\nSubmodule details:"
|
|
||||||
git submodule foreach 'echo $path: && pwd && ls -la'
|
|
||||||
|
|
||||||
- name: Decode android/upload.jks
|
|
||||||
run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
|
||||||
|
|
||||||
- name: Decode android/key.properties
|
|
||||||
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
|
||||||
|
|
||||||
- name: Set up Flutter
|
|
||||||
uses: subosito/flutter-action@v2
|
|
||||||
with:
|
|
||||||
channel: "stable"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: flutter pub get
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: flutter test
|
|
||||||
|
|
||||||
- name: Set Up Java
|
|
||||||
uses: actions/setup-java@v3.12.0
|
|
||||||
with:
|
|
||||||
distribution: "oracle"
|
|
||||||
java-version: "17"
|
|
||||||
|
|
||||||
- name: Build APK
|
|
||||||
run: flutter build apk --release
|
|
||||||
|
|
||||||
- name: Upload APKs
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: app-release
|
|
||||||
path: build/app/outputs/flutter-apk/*.apk
|
|
||||||
130
.github/workflows/prepare-release.yaml
vendored
Normal file
130
.github/workflows/prepare-release.yaml
vendored
Normal file
|
|
@ -0,0 +1,130 @@
|
||||||
|
# .github/workflows/prepare-release.yml
|
||||||
|
name: Prepare Release (using Cider)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
bump_type:
|
||||||
|
description: "Type of version bump (patch, minor, major)"
|
||||||
|
required: true
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- patch
|
||||||
|
- minor
|
||||||
|
- major
|
||||||
|
default: "patch"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # NEEDED to commit, push, and tag
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
bump_version_and_tag:
|
||||||
|
name: Bump Version and Tag using Cider
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
# Use a PAT if pushing to protected branches is restricted for GITHUB_TOKEN
|
||||||
|
# token: ${{ secrets.PAT_TOKEN }} # Create PAT with repo scope
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# Setup Flutter/Dart environment needed to run dart pub global activate
|
||||||
|
- name: Setup Flutter
|
||||||
|
uses: subosito/flutter-action@v2
|
||||||
|
with:
|
||||||
|
channel: "stable" # Or match your project's channel
|
||||||
|
flutter-version-file: pubspec.yaml
|
||||||
|
|
||||||
|
- name: Install Cider
|
||||||
|
run: dart pub global activate cider
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Add pub global bin to PATH for this job
|
||||||
|
- name: Add pub global bin to PATH
|
||||||
|
run: echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Configure Git
|
||||||
|
run: |
|
||||||
|
git config user.name "github-actions[bot]"
|
||||||
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Bump version using Cider
|
||||||
|
id: bump
|
||||||
|
run: |
|
||||||
|
echo "Current version:"
|
||||||
|
grep '^version:' pubspec.yaml
|
||||||
|
|
||||||
|
# Run cider to bump version and build number
|
||||||
|
# Cider modifies pubspec.yaml in place
|
||||||
|
cider bump ${{ github.event.inputs.bump_type }} --bump-build
|
||||||
|
|
||||||
|
echo "New version (after cider bump):"
|
||||||
|
# Read the *new* version directly from the modified file
|
||||||
|
new_version_line=$(grep '^version:' pubspec.yaml)
|
||||||
|
# Extract just the version string (e.g., 1.2.3+4)
|
||||||
|
new_version=$(echo "$new_version_line" | sed 's/version: *//')
|
||||||
|
|
||||||
|
echo "$new_version_line"
|
||||||
|
echo "Extracted new version: $new_version"
|
||||||
|
|
||||||
|
if [[ -z "$new_version" ]]; then
|
||||||
|
echo "Error: Could not extract new version after cider bump."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create tag name (e.g., v1.2.3 - usually tags don't include build number)
|
||||||
|
# Extract version part before '+' for the tag
|
||||||
|
version_for_tag=$(echo "$new_version" | cut -d'+' -f1)
|
||||||
|
new_tag="v$version_for_tag"
|
||||||
|
echo "New tag: $new_tag"
|
||||||
|
|
||||||
|
# Set outputs for later steps
|
||||||
|
echo "new_version=$new_version" >> $GITHUB_OUTPUT
|
||||||
|
echo "new_tag=$new_tag" >> $GITHUB_OUTPUT
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Commit version bump
|
||||||
|
run: |
|
||||||
|
# Add pubspec.yaml. Add CHANGELOG.md if cider modifies it and you want to commit it.
|
||||||
|
git add pubspec.yaml
|
||||||
|
# git add CHANGELOG.md # Uncomment if needed
|
||||||
|
|
||||||
|
# Check if there are changes to commit
|
||||||
|
if git diff --staged --quiet; then
|
||||||
|
echo "No changes detected in pubspec.yaml (or CHANGELOG.md) to commit."
|
||||||
|
else
|
||||||
|
# Use the version *without* build number for the commit message usually
|
||||||
|
git commit -m "chore(release): bump version to ${{ steps.bump.outputs.new_tag }}"
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Create Git tag
|
||||||
|
# Only run if the commit step actually committed something (check git status)
|
||||||
|
# or simply run always, it won't hurt if the commit was skipped
|
||||||
|
run: |
|
||||||
|
git tag ${{ steps.bump.outputs.new_tag }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Push changes and tag
|
||||||
|
run: |
|
||||||
|
# Push the commit first (e.g., to main branch - adjust if needed)
|
||||||
|
# Handle potential conflicts if main changed since checkout? (More advanced setup)
|
||||||
|
# Check if there are commits to push before pushing branch
|
||||||
|
if ! git diff --quiet HEAD^ HEAD; then
|
||||||
|
echo "Pushing commit to main..."
|
||||||
|
git push origin HEAD:main
|
||||||
|
else
|
||||||
|
echo "No new commits to push to main."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Always push the tag
|
||||||
|
echo "Pushing tag ${{ steps.bump.outputs.new_tag }}..."
|
||||||
|
git push origin ${{ steps.bump.outputs.new_tag }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Output New Tag
|
||||||
|
run: echo "Successfully tagged release ${{ steps.bump.outputs.new_tag }}"
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -30,6 +30,7 @@ migrate_working_dir/
|
||||||
.pub-cache/
|
.pub-cache/
|
||||||
.pub/
|
.pub/
|
||||||
/build/
|
/build/
|
||||||
|
dist/
|
||||||
|
|
||||||
# Symbolication related
|
# Symbolication related
|
||||||
app.*.symbols
|
app.*.symbols
|
||||||
|
|
@ -41,7 +42,7 @@ app.*.map.json
|
||||||
/android/app/debug
|
/android/app/debug
|
||||||
/android/app/profile
|
/android/app/profile
|
||||||
/android/app/release
|
/android/app/release
|
||||||
/android/app/.cxx/Debug
|
/android/app/.cxx/
|
||||||
|
|
||||||
# secret keys
|
# secret keys
|
||||||
/secrets
|
/secrets
|
||||||
|
|
|
||||||
8
distribute_options.yaml
Normal file
8
distribute_options.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
output: dist/
|
||||||
|
releases:
|
||||||
|
- name: dev
|
||||||
|
jobs:
|
||||||
|
- name: release-dev-linux-deb
|
||||||
|
package:
|
||||||
|
platform: linux
|
||||||
|
target: deb
|
||||||
|
|
@ -40,11 +40,11 @@ static void my_application_activate(GApplication* application) {
|
||||||
if (use_header_bar) {
|
if (use_header_bar) {
|
||||||
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
|
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
|
||||||
gtk_widget_show(GTK_WIDGET(header_bar));
|
gtk_widget_show(GTK_WIDGET(header_bar));
|
||||||
gtk_header_bar_set_title(header_bar, "vaani");
|
gtk_header_bar_set_title(header_bar, "Vaani");
|
||||||
gtk_header_bar_set_show_close_button(header_bar, TRUE);
|
gtk_header_bar_set_show_close_button(header_bar, TRUE);
|
||||||
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
|
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
|
||||||
} else {
|
} else {
|
||||||
gtk_window_set_title(window, "vaani");
|
gtk_window_set_title(window, "Vaani");
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_window_set_default_size(window, 1280, 720);
|
gtk_window_set_default_size(window, 1280, 720);
|
||||||
|
|
|
||||||
32
linux/packaging/deb/make_config.yaml
Normal file
32
linux/packaging/deb/make_config.yaml
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
display_name: Vaani
|
||||||
|
package_name: vaani
|
||||||
|
|
||||||
|
maintainer:
|
||||||
|
name: Dr.Blank
|
||||||
|
email: drblankdev@gmail.com
|
||||||
|
|
||||||
|
priority: optional
|
||||||
|
|
||||||
|
section: x11
|
||||||
|
|
||||||
|
installed_size: 75700
|
||||||
|
|
||||||
|
essential: false
|
||||||
|
|
||||||
|
icon: assets/icon/logo.png
|
||||||
|
|
||||||
|
postuninstall_scripts:
|
||||||
|
- echo "Sorry to see you go."
|
||||||
|
|
||||||
|
keywords:
|
||||||
|
- Audiobook
|
||||||
|
- Audiobook Player
|
||||||
|
- Audiobookshelf
|
||||||
|
|
||||||
|
generic_name: Audiobook Player
|
||||||
|
|
||||||
|
categories:
|
||||||
|
- Media
|
||||||
|
- Utility
|
||||||
|
|
||||||
|
startup_notify: true
|
||||||
Loading…
Add table
Add a link
Reference in a new issue