From bd9ca7c9b3bceccb2917ce69fbc36be8af64cf6b Mon Sep 17 00:00:00 2001 From: 2ndbeam <2ndbeam@disroot.org> Date: Thu, 23 Apr 2026 11:02:51 +0300 Subject: [PATCH] chore: remove github workflows in downstream --- .github/CODEOWNERS | 3 - .github/FUNDING.yml | 13 - .github/ISSUE_TEMPLATE/bug_report.yml | 73 ------ .github/ISSUE_TEMPLATE/config.yml | 5 - .github/ISSUE_TEMPLATE/feature_request.yml | 34 --- .../ISSUE_TEMPLATE/issue_pr_management.yml | 27 --- .github/ISSUE_TEMPLATE/test_report.md | 44 ---- .github/actions/free_up_space/action.yaml | 50 ---- .github/dependabot.yml | 23 -- .github/pull_request_template.md | 12 - .github/workflows/integrate.yaml | 222 ------------------ .github/workflows/main_deploy.yaml | 78 ------ .github/workflows/matrix_notify.yaml | 60 ----- .github/workflows/release.yaml | 211 ----------------- .github/workflows/stale.yaml | 21 -- 15 files changed, 876 deletions(-) delete mode 100644 .github/CODEOWNERS delete mode 100644 .github/FUNDING.yml delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 .github/ISSUE_TEMPLATE/issue_pr_management.yml delete mode 100644 .github/ISSUE_TEMPLATE/test_report.md delete mode 100644 .github/actions/free_up_space/action.yaml delete mode 100644 .github/dependabot.yml delete mode 100644 .github/pull_request_template.md delete mode 100644 .github/workflows/integrate.yaml delete mode 100644 .github/workflows/main_deploy.yaml delete mode 100644 .github/workflows/matrix_notify.yaml delete mode 100644 .github/workflows/release.yaml delete mode 100644 .github/workflows/stale.yaml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 6ab0888f..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,3 +0,0 @@ -* @krille-chan -pubspec.* @dependabot -lib/l10n/*.arb @weblate \ No newline at end of file diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 402c3c7c..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,13 +0,0 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: krille -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: KrilleChritzelius -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index d241cf91..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: 🐛 Bug report -description: Create a report to help us improve -labels: bug -body: - - type: textarea - id: bug-description - attributes: - label: "Bug Description" - description: "A clear and concise description of what the bug is. Please add screenshots if you have as they usually help us a lot." - placeholder: "Describe the bug here..." - validations: - required: true - - type: textarea - id: reproduce-steps - attributes: - label: "Steps to Reproduce" - description: "Steps to reproduce the behavior:" - placeholder: "1. Go to '...'\n2. Click on '...'\n3. Scroll down to '...'\n4. See error" - validations: - required: true - - type: textarea - id: expected-behavior - attributes: - label: "Expected Behavior" - description: "A clear and concise description of what you expected to happen." - placeholder: "Describe what you expected to happen here..." - validations: - required: true - - type: input - id: app-version - attributes: - label: "App Version" - description: "Please provide the version of the app you are using." - placeholder: "e.g. 1.12.0" - validations: - required: true - - type: dropdown - id: platform - attributes: - label: "Platform" - description: "Select the platform where the bug occurs." - options: - - Android (PlayStore) - - Android (F-Droid) - - Android (Other) - - iOS (iPhone) - - iOS (iPad) - - Web (Chrome(ium)) - - Web (Firefox) - - Web (Safari) - - Linux (Snap) - - Linux (Flatpak) - - Linux (Other) - - macOS (iOS/iPadOS version) - - macOS (Self-compiled) - - Windows (Self-compiled) - validations: - required: true - - type: input - id: platform-info - attributes: - label: "Additional Platform Information" - description: "Please provide the following information:" - placeholder: "Device: [e.g. iPhone6, PC, Pixel 3]\nOS: [e.g. iOS, Android, Windows, Linux, macOS]\nBrowser (if applicable): [e.g. Chrome, Safari]" - validations: - required: true - - type: textarea - id: additional-context - attributes: - label: "Additional Context" - description: "Add any other context about the problem here." - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index ddcf8edb..00000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: 👬 FluffyChat Community - url: https://matrix.to/#/#fluffy-space:matrix.org - about: Please ask and answer questions here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index 4007c883..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: 💡 Feature Request -description: Suggest an idea for this project -labels: enhancement -body: - - type: textarea - id: feature-description - attributes: - label: "Feature Description" - description: "Provide a clear and concise description of the feature." - placeholder: "Describe the feature here..." - validations: - required: true - - type: textarea - id: rationale - attributes: - label: "Rationale" - description: "Explain why this feature should be added." - placeholder: "Describe the rationale for the feature here..." - validations: - required: true - - type: textarea - id: mockup - attributes: - label: "Mockup" - description: "If applicable, add any visual mock-ups of the feature." - validations: - required: false - - type: textarea - id: additional-context - attributes: - label: "Additional Context" - description: "Add any other context or screenshots about the feature request here." - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/issue_pr_management.yml b/.github/ISSUE_TEMPLATE/issue_pr_management.yml deleted file mode 100644 index 3a750923..00000000 --- a/.github/ISSUE_TEMPLATE/issue_pr_management.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Close Inactive Issues And PRs -on: - schedule: - - cron: "30 1 * * *" - -jobs: - close-issues: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/stale@v9 - with: - days-before-issue-stale: 365 - days-before-issue-close: 14 - stale-issue-label: "stale" - stale-issue-message: "This issue is stale because it has been open for 365 days with no activity." - close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." - stale-pr-message: "This pull request is stale because it has been open for 365 days with no activity." - close-pr-message: "This pull request was closed because it has been inactive for 14 days since being marked as stale." - days-before-pr-stale: 365 - days-before-pr-close: 14 - exempt-milestones: true - exempt-assignees: krille-chan - operations-per-run: 500 - repo-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/test_report.md b/.github/ISSUE_TEMPLATE/test_report.md deleted file mode 100644 index fb97739b..00000000 --- a/.github/ISSUE_TEMPLATE/test_report.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: 📝 Test -about: A detailed protocol for testing all features -title: 'Test Report' -labels: test ---- - -1. App receives push notifications over Firebase Cloud Messaging when it is in background/terminated: - - [ ] Android - - [ ] iOS -2. App receives push notifications over Unified Push when it is in background/terminated: - - [ ] Android -3. Notifications for rooms, which are not in foreground, are working: - - [ ] Web - - [ ] Linux -4. QR Code scanner can still scan links to start a new chat: - - [ ] Android - - [ ] iOS -5. Recording and playing voice messages works: - - [ ] Android - - [ ] iOS - - [ ] Web (play only) -6. Sending and downloading files/images works: - - [ ] Android - - [ ] iOS - - [ ] Web - - [ ] Linux -7. Sharing texts/files/images from other apps to FluffyChat works: - - [ ] Android - - [ ] iOS -8. Login with single sign on works: - - [ ] Android - - [ ] iOS - - [ ] Web - - [ ] Linux -9. Test if the app lock works as intended and appears on opening/resuming the app: - - [ ] Android - - [ ] iOS -10. Drag&Drop to send a file into a chat still works: - - [ ] Web - - [ ] Linux -11. Deeplinks are still working? https://matrix.to/#/@krille:janian.de - - [ ] Android - - [ ] iOS \ No newline at end of file diff --git a/.github/actions/free_up_space/action.yaml b/.github/actions/free_up_space/action.yaml deleted file mode 100644 index abe2c4b5..00000000 --- a/.github/actions/free_up_space/action.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: "Free up space" - -inputs: - target: - required: true - -runs: - using: "composite" - steps: - - name: Free up space - shell: bash - run: | - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/local/share/boost - sudo rm -rf /usr/local/share/chromium - sudo rm -rf /usr/local/share/powershell - sudo rm -rf /usr/local/share/vcpkg - sudo rm -rf /usr/local/share/miniconda - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - sudo rm -rf /opt/hostedtoolcache/go - sudo rm -rf /opt/hostedtoolcache/Python - sudo rm -rf /opt/hostedtoolcache/node - sudo rm -rf /opt/hostedtoolcache/R - sudo rm -rf /opt/hostedtoolcache/Java - sudo rm -rf /opt/hostedtoolcache/LLVM - sudo rm -rf /opt/hostedtoolcache/Swift - sudo rm -rf /opt/hostedtoolcache/Php - sudo rm -rf /opt/hostedtoolcache/Perl - sudo rm -rf /opt/hostedtoolcache/Scala - sudo rm -rf /opt/hostedtoolcache/Julia - sudo rm -rf /opt/hostedtoolcache/Mono - sudo rm -rf /opt/hostedtoolcache/PowerShell - sudo rm -rf /opt/hostedtoolcache/Crystal - sudo rm -rf /opt/hostedtoolcache/Elixir - sudo rm -rf /opt/hostedtoolcache/Erlang - sudo rm -rf /opt/hostedtoolcache/FSharp - sudo rm -rf /opt/hostedtoolcache/Haskell - sudo rm -rf /opt/hostedtoolcache/OCaml - sudo rm -rf /opt/hostedtoolcache/Sbt - sudo rm -rf /opt/hostedtoolcache/Solidity - sudo rm -rf /opt/hostedtoolcache/VisualStudio - sudo rm -rf /opt/hostedtoolcache/WinAppDriver - sudo rm -rf /opt/hostedtoolcache/Xamarin - sudo rm -rf /opt/hostedtoolcache/Yarn - sudo rm -rf /opt/hostedtoolcache/Zephyr - sudo rm -rf /opt/hostedtoolcache/zig - sudo rm -rf /opt/hostedtoolcache/zulu - sudo rm -rf /opt/hostedtoolcache/azcopy - echo "export CARGO_BUILD_JOBS=1" >> $GITHUB_ENV diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 37557f77..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,23 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "pub" - directory: "/" - schedule: - interval: "daily" - allow: - - dependency-name: "*" - commit-message: - prefix: "build: " - include: "scope" - assignees: - - "krille-chan" - open-pull-requests-limit: 5 - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - allow: - - dependency-name: "*" - commit-message: - prefix: "build: " - include: "scope" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 26504d65..00000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,12 +0,0 @@ -- [ ] I have read and understood the [contributing guidelines](https://github.com/krille-chan/fluffychat/blob/main/CONTRIBUTING.md). - -### Pull Request has been tested on: - -- [ ] Android -- [ ] iOS -- [ ] Browser (Chromium based) -- [ ] Browser (Firefox based) -- [ ] Browser (WebKit based) -- [ ] Desktop Linux -- [ ] Desktop Windows -- [ ] Desktop macOS \ No newline at end of file diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml deleted file mode 100644 index cf57ba7a..00000000 --- a/.github/workflows/integrate.yaml +++ /dev/null @@ -1,222 +0,0 @@ -name: Pull Request Workflow - -on: - pull_request: - merge_group: - -jobs: - code_tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: webiny/action-conventional-commits@v1.3.1 - - run: ./scripts/generate-locale-config.sh - - run: git diff --exit-code - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - name: Check for unused translations - run: flutter pub run translations_cleaner list-unused-terms -a - - run: flutter pub get - - name: Check if pubspec.lock is up to date - run: git diff --exit-code pubspec.lock - - name: Check formatting - run: dart format lib/ test/ --set-exit-if-changed - - name: Check license compliance - run: dart run license_checker check-licenses -c licenses.yaml --problematic - - run: flutter analyze - - name: Search unused dependencies - run: | - dart pub global activate dependency_validator - dart pub global run dependency_validator - - run: dart run dart_code_linter:metrics analyze lib --reporter=github - - run: dart run dart_code_linter:metrics check-unused-code lib - - run: dart run dart_code_linter:metrics check-unused-files lib - - run: dart run dart_code_linter:metrics check-unused-l10n lib - - name: Check for commented-out Dart code with semicolons - run: | - if grep -R --include="*.dart" -nE '^[[:space:]]*//[^/<].*;[[:space:]]*$' lib/; then - echo "" - echo "❌ Found commented-out Dart code ending with semicolon." - exit 1 - fi - - name: Add Firebase Messaging - run: ./scripts/add-firebase-messaging.sh - - run: flutter analyze - - run: flutter test - - build_debug_apk: - needs: [ code_tests ] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: ./.github/actions/free_up_space - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - uses: moonrepo/setup-rust@v1 - with: - cache: true - - name: Cache Gradle - uses: actions/cache@v5 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: gradle-${{ runner.os }}- - - run: ./scripts/add-firebase-messaging.sh - - run: flutter build apk --debug --target-platform android-x64 - - name: Upload Debug APK - uses: actions/upload-artifact@v7 - with: - name: debug-apk-x64 - path: build/app/outputs/flutter-apk/app-debug.apk - - build_debug_web: - needs: [ code_tests ] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - uses: moonrepo/setup-rust@v1 - - run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu - - run: flutter pub get - - name: Prepare web - run: ./scripts/prepare-web.sh - - run: flutter build web - - name: Upload Web Build - uses: actions/upload-artifact@v7 - with: - name: Web Build - path: build/web - - build_debug_linux: - needs: [ code_tests ] - strategy: - matrix: - arch: [ x64, arm64 ] - runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest'}} - steps: - - uses: actions/checkout@v6 - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install git wget curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y - - run: echo "FLUTTER_VERSION=$(yq '.environment.flutter' < .tool_versions.yaml)" >> $GITHUB_ENV - - name: Install Flutter - run: | - git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git - ./flutter/bin/flutter doctor - - uses: moonrepo/setup-rust@v1 - - run: ./flutter/bin/flutter pub get - - run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }} - - build_debug_ios: - needs: [ code_tests ] - runs-on: macos-15 - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - name: Use Xcode 16.4 - run: sudo xcode-select --switch /Applications/Xcode_16.4.app - - run: brew install sqlcipher - - uses: moonrepo/setup-rust@v1 - - run: ./scripts/add-firebase-messaging.sh - - run: flutter pub get - - run: flutter build ios --no-codesign - - integration_test: - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [ code_tests ] - strategy: - matrix: - api-level: [34] - env: - ANDROID_USER_HOME: /home/runner/.android - ANDROID_EMULATOR_HOME: /home/runner/.android - ANDROID_AVD_HOME: /home/runner/.android/avd - AVD_CONFIG_PATH: "~/.android/avd/test.avd/config.ini" - steps: - - uses: actions/checkout@v6 - - uses: ./.github/actions/free_up_space - # https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/ - - name: Enable KVM group perms - run: | - echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules - sudo udevadm control --reload-rules - sudo udevadm trigger --name-match=kvm - - name: AVD cache - uses: actions/cache@v5 - id: avd-cache - with: - path: ~/.android/* - key: avd-${{ matrix.api-level }}-integration_docker - - name: create AVD and generate snapshot for caching - if: steps.avd-cache.outputs.cache-hit != 'true' - uses: reactivecircus/android-emulator-runner@d94c3fbe4fe6a29e4a5ba47c12fb47677c73656b - with: - api-level: ${{ matrix.api-level }} - target: google_apis - arch: x86_64 - cores: 16 - ndk: 28.2.13676358 - force-avd-creation: false - disk-size: 4096M - ram-size: 4096M - sdcard-path-or-size: 4096M - emulator-options: -no-window -wipe-data -accel on -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none - script: | - cat ${{ env.AVD_CONFIG_PATH }} - - sed -i.bak 's/hw.lcd.density = .*/hw.lcd.density=420/' ${{ env.AVD_CONFIG_PATH }} - sed -i.bak 's/hw.lcd.height = .*/hw.lcd.height=1920/' ${{ env.AVD_CONFIG_PATH }} - sed -i.bak 's/hw.lcd.width = .*/hw.lcd.width=1080/' ${{ env.AVD_CONFIG_PATH }} - - if ! grep -q "hw.lcd.density" ${{ env.AVD_CONFIG_PATH }} && echo "hw.lcd.density = 420" >> ${{ env.AVD_CONFIG_PATH }}; then :; fi - if ! grep -q "hw.lcd.height" ${{ env.AVD_CONFIG_PATH }} && echo "hw.lcd.height = 1920" >> ${{ env.AVD_CONFIG_PATH }}; then :; fi - if ! grep -q "hw.lcd.width" ${{ env.AVD_CONFIG_PATH }} && echo "hw.lcd.width = 1080" >> ${{ env.AVD_CONFIG_PATH }}; then :; fi - - echo "Emulator settings (${{ env.AVD_CONFIG_PATH }})" - cat ${{ env.AVD_CONFIG_PATH }} - echo "Generated AVD snapshot for caching." - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - uses: moonrepo/setup-rust@v1 - with: - cache: true - - name: Cache Gradle - uses: actions/cache@v5 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: gradle-${{ runner.os }}- - - run: ./scripts/add-firebase-messaging.sh - - name: Prepare Homeserver - run: ./scripts/prepare_integration_test.sh - - name: Integration tests - id: integration_tests - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - target: google_apis - arch: x86_64 - cores: 16 - ndk: 28.2.13676358 - force-avd-creation: false - disk-size: 4096M - ram-size: 4096M - sdcard-path-or-size: 4096M - emulator-options: -no-snapshot-save -no-window -wipe-data -accel on -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none - script: flutter test integration_test/mobile_test.dart \ No newline at end of file diff --git a/.github/workflows/main_deploy.yaml b/.github/workflows/main_deploy.yaml deleted file mode 100644 index a6ccda28..00000000 --- a/.github/workflows/main_deploy.yaml +++ /dev/null @@ -1,78 +0,0 @@ -name: Main Deploy Workflow - -on: - push: - branches: - - main - workflow_dispatch: - -concurrency: - group: main_deploy - cancel-in-progress: true - -jobs: - deploy_web: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - - uses: moonrepo/setup-rust@v1 - - run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu - - name: Prepare web - run: ./scripts/prepare-web.sh - - run: rm ./assets/vodozemac/.gitignore - - run: flutter pub get - - name: Build Release Web - run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps --base-href "/nightly/" - - run: mv build/web/ public - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v4 - with: - personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }} - publish_dir: ./public - publish_branch: gh-pages - destination_dir: nightly - - deploy_playstore_internal: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.3' - - uses: ./.github/actions/free_up_space - - uses: moonrepo/setup-rust@v1 - - name: Install Fastlane - run: gem install fastlane -NV - - name: Add Firebase Messaging - run: | - echo '${{secrets.GOOGLE_SERVICES_JSON}}' | base64 -d > android/app/google-services.json - ./scripts/add-firebase-messaging.sh - - run: flutter pub get - - name: Prepare Android Release Build - env: - FDROID_KEY: ${{ secrets.FDROID_KEY }} - FDROID_KEY_PASS: ${{ secrets.FDROID_KEY_PASS }} - PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }} - run: ./scripts/prepare-android-release.sh - - name: Build Android Release - run: flutter build appbundle --target-platform android-arm,android-arm64 - - name: Set changelog - working-directory: android/fastlane/metadata/android/en-US/changelogs - run: git log --no-merges -1 --pretty=%B > default.txt - - name: Deploy Android Release - run: | - mkdir -p build/android - cp build/app/outputs/bundle/release/app-release.aab build/android/ - cd android - bundle install - bundle update fastlane - bundle exec fastlane deploy_internal_test - cd .. diff --git a/.github/workflows/matrix_notify.yaml b/.github/workflows/matrix_notify.yaml deleted file mode 100644 index f1583f11..00000000 --- a/.github/workflows/matrix_notify.yaml +++ /dev/null @@ -1,60 +0,0 @@ -name: Matrix Notification - -on: - issues: - types: [opened] - pull_request_target: - types: [opened] - -jobs: - notify: - if: ${{ (github.event_name == 'issues' && github.event.issue.user.login != 'krille-chan') || (github.event_name == 'pull_request_target' && github.event.pull_request.user.login != 'krille-chan') }} - runs-on: ubuntu-latest - steps: - - name: Send notification to Matrix room - env: - HOMESERVER: ${{ secrets.MATRIX_HOMESERVER }} - ACCESS_TOKEN: ${{ secrets.MATRIX_ACCESS_TOKEN }} - ROOM_ID: ${{ secrets.MATRIX_ROOM_ID }} - EVENT_NAME: ${{ github.event_name }} - ISSUE_TITLE: ${{ github.event.issue.title }} - ISSUE_URL: ${{ github.event.issue.html_url }} - ISSUE_LABELS: ${{ join(github.event.issue.labels.*.name, ', ') }} - ISSUE_AUTHOR: ${{ github.event.issue.user.login }} - PR_TITLE: ${{ github.event.pull_request.title }} - PR_URL: ${{ github.event.pull_request.html_url }} - PR_LABELS: ${{ join(github.event.pull_request.labels.*.name, ', ') }} - PR_AUTHOR: ${{ github.event.pull_request.user.login }} - run: | - if [ "${EVENT_NAME}" = "issues" ]; then - EMOJI="📝" - PREFIX="New Issue" - TITLE="${ISSUE_TITLE}" - URL="${ISSUE_URL}" - LABELS="${ISSUE_LABELS}" - AUTHOR="${ISSUE_AUTHOR}" - else - EMOJI="🔀" - PREFIX="New Pull Request" - TITLE="${PR_TITLE}" - URL="${PR_URL}" - LABELS="${PR_LABELS}" - AUTHOR="${PR_AUTHOR}" - fi - - AUTHOR_URL="https://github.com/${AUTHOR}" - PLAIN="${EMOJI} ${PREFIX} by ${AUTHOR}: ${TITLE} - ${URL}" - HTML="

${EMOJI} ${PREFIX}

" - HTML="${HTML}${TITLE}
" - HTML="${HTML}👤 ${AUTHOR}" - if [ -n "${LABELS}" ]; then - HTML="${HTML}
🏷️ ${LABELS}" - fi - TXN_ID=$(date +%s%N) - - curl -s -o /dev/null -w "%{http_code}" -X PUT \ - "${HOMESERVER}/_matrix/client/v3/rooms/${ROOM_ID}/send/m.room.message/${TXN_ID}" \ - -H "Authorization: Bearer ${ACCESS_TOKEN}" \ - -H "Content-Type: application/json" \ - -d "$(jq -n --arg body "$PLAIN" --arg html "$HTML" \ - '{"msgtype":"m.notice","body":$body,"format":"org.matrix.custom.html","formatted_body":$html}')" \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 133f099c..00000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,211 +0,0 @@ -name: Release Workflow - -on: - release: - types: - - created - -concurrency: - group: release_workflow - cancel-in-progress: true - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - -jobs: - build_web: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - uses: moonrepo/setup-rust@v1 - - run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu - - run: flutter pub get - - name: Prepare web - run: ./scripts/prepare-web.sh - - run: rm ./assets/vodozemac/.gitignore - - name: Build Release Web - run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps --base-href "/web/" - - name: Create archive - run: tar -czf fluffychat-web.tar.gz build/web/ - - name: Upload Web Build - uses: actions/upload-artifact@v7 - with: - name: Web Build - path: fluffychat-web.tar.gz - - name: Upload to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: fluffychat-web.tar.gz - asset_name: fluffychat-web.tar.gz - asset_content_type: application/gzip - - name: Clone fluffychat website - run: | - git clone https://github.com/krille-chan/fluffychat-website.git - cat CHANGELOG.md >> fluffychat-website/src/changelog.md - cat PRIVACY.md >> fluffychat-website/src/privacy.md - - name: Build website - working-directory: fluffychat-website - run: | - npm install tailwindcss @tailwindcss/cli - npx tailwindcss -i ./src/styles.css -o ./src/assets/tailwind.css --minify - npx @11ty/eleventy - mv public ../ - - name: Copy FluffyChat web into it - run: | - mkdir public/web - mkdir public/nightly - cp -r build/web/* public/web/ - cp -r build/web/* public/nightly/ - echo "fluffychat.im" >> public/CNAME - - name: Deploy to GitHub Pages - if: startsWith(github.ref, 'refs/tags/v') - uses: peaceiris/actions-gh-pages@v4 - with: - personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }} - publish_dir: ./public - publish_branch: gh-pages - cname: fluffychat.im - - build_apk: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - name: Add Firebase Messaging - run: | - echo '${{secrets.GOOGLE_SERVICES_JSON}}' | base64 -d > android/app/google-services.json - ./scripts/add-firebase-messaging.sh - - uses: ./.github/actions/free_up_space - - uses: moonrepo/setup-rust@v1 - - run: flutter pub get - - name: Prepare Android Release Build - env: - FDROID_KEY: ${{ secrets.FDROID_KEY }} - FDROID_KEY_PASS: ${{ secrets.FDROID_KEY_PASS }} - PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }} - run: ./scripts/prepare-android-release.sh - - run: flutter build apk --release --target-platform android-arm,android-arm64 - - name: Upload to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: build/app/outputs/apk/release/app-release.apk - asset_name: fluffychat.apk - asset_content_type: application/vnd.android.package-archive - - build_linux: - strategy: - matrix: - arch: [ x64, arm64 ] - runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest'}} - steps: - - uses: actions/checkout@v6 - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y - - run: echo "FLUTTER_VERSION=$(yq '.environment.flutter' < .tool_versions.yaml)" >> $GITHUB_ENV - - name: Install Flutter - run: | - git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git - ./flutter/bin/flutter doctor - - uses: moonrepo/setup-rust@v1 - - run: ./flutter/bin/flutter pub get - - run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }} - - name: Create archive - run: tar -czf fluffychat-linux-${{ matrix.arch }}.tar.gz -C build/linux/${{ matrix.arch }}/release/bundle/ . - - name: Upload to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: fluffychat-linux-${{ matrix.arch }}.tar.gz - asset_name: fluffychat-linux-${{ matrix.arch }}.tar.gz - asset_content_type: application/gzip - - deploy_playstore: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: subosito/flutter-action@v2 - with: - flutter-version-file: .tool_versions.yaml - cache: true - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.3' - - uses: ./.github/actions/free_up_space - - uses: moonrepo/setup-rust@v1 - - name: Install Fastlane - working-directory: android - run: gem install fastlane -NV - - name: Add Firebase Messaging - run: | - echo '${{secrets.GOOGLE_SERVICES_JSON}}' | base64 -d > android/app/google-services.json - ./scripts/add-firebase-messaging.sh - - run: flutter pub get - - name: Prepare Android Release Build - env: - FDROID_KEY: ${{ secrets.FDROID_KEY }} - FDROID_KEY_PASS: ${{ secrets.FDROID_KEY_PASS }} - PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }} - run: ./scripts/prepare-android-release.sh - - name: Build Android Release - run: flutter build appbundle --target-platform android-arm,android-arm64 - - name: Get Tag Name - id: tag_name - run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})" - - name: Deploy Android Release - run: | - mkdir -p build/android - cp build/app/outputs/bundle/release/app-release.aab build/android/ - cd android - bundle install - bundle update fastlane - bundle exec fastlane deploy_internal_test - if [[ $GITHUB_REF_NAME == rc* ]]; then - bundle exec fastlane deploy_candidate - else - bundle exec fastlane deploy_release - fi - cd .. - - deploy_docker: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - steps: - - name: Check out Git repository - uses: actions/checkout@v6 - - name: Log in to the Container registry - uses: docker/login-action@v4 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v6 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push Docker image - uses: docker/build-push-action@v7 - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml deleted file mode 100644 index 4d7ecce8..00000000 --- a/.github/workflows/stale.yaml +++ /dev/null @@ -1,21 +0,0 @@ -name: 'Close stale issues and PRs' -on: - schedule: - - cron: '30 1 * * *' - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v10 - with: - stale-issue-message: 'This issue is stale because it has been open 365 days with no activity. Remove stale label or comment or this will be closed in 30 days.' - stale-pr-message: 'This PR is stale because it has been open 365 days with no activity. Remove stale label or comment or this will be closed in 30 days.' - close-issue-message: 'This issue was closed because it has been stalled for 30 days with no activity.' - close-pr-message: 'This PR was closed because it has been stalled for 30 days with no activity.' - days-before-issue-stale: 365 - days-before-pr-stale: 365 - days-before-issue-close: 30 - days-before-pr-close: 30 - exempt-all-assignees: true - operations-per-run: 1000 \ No newline at end of file