chore: remove github workflows in downstream
This commit is contained in:
parent
e12723fdaa
commit
bd9ca7c9b3
15 changed files with 0 additions and 876 deletions
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
* @krille-chan
|
|
||||||
pubspec.* @dependabot
|
|
||||||
lib/l10n/*.arb @weblate
|
|
||||||
13
.github/FUNDING.yml
vendored
13
.github/FUNDING.yml
vendored
|
|
@ -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']
|
|
||||||
73
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
73
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
|
@ -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
|
|
||||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
5
.github/ISSUE_TEMPLATE/config.yml
vendored
|
|
@ -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.
|
|
||||||
34
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
34
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
|
|
@ -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
|
|
||||||
27
.github/ISSUE_TEMPLATE/issue_pr_management.yml
vendored
27
.github/ISSUE_TEMPLATE/issue_pr_management.yml
vendored
|
|
@ -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 }}
|
|
||||||
44
.github/ISSUE_TEMPLATE/test_report.md
vendored
44
.github/ISSUE_TEMPLATE/test_report.md
vendored
|
|
@ -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
|
|
||||||
50
.github/actions/free_up_space/action.yaml
vendored
50
.github/actions/free_up_space/action.yaml
vendored
|
|
@ -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
|
|
||||||
23
.github/dependabot.yml
vendored
23
.github/dependabot.yml
vendored
|
|
@ -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"
|
|
||||||
12
.github/pull_request_template.md
vendored
12
.github/pull_request_template.md
vendored
|
|
@ -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
|
|
||||||
222
.github/workflows/integrate.yaml
vendored
222
.github/workflows/integrate.yaml
vendored
|
|
@ -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
|
|
||||||
78
.github/workflows/main_deploy.yaml
vendored
78
.github/workflows/main_deploy.yaml
vendored
|
|
@ -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 ..
|
|
||||||
60
.github/workflows/matrix_notify.yaml
vendored
60
.github/workflows/matrix_notify.yaml
vendored
|
|
@ -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="<h3>${EMOJI} ${PREFIX}</h3>"
|
|
||||||
HTML="${HTML}<b><a href='${URL}'>${TITLE}</a></b><br/>"
|
|
||||||
HTML="${HTML}👤 <a href='${AUTHOR_URL}'>${AUTHOR}</a>"
|
|
||||||
if [ -n "${LABELS}" ]; then
|
|
||||||
HTML="${HTML}<br/>🏷️ ${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}')"
|
|
||||||
211
.github/workflows/release.yaml
vendored
211
.github/workflows/release.yaml
vendored
|
|
@ -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 }}
|
|
||||||
21
.github/workflows/stale.yaml
vendored
21
.github/workflows/stale.yaml
vendored
|
|
@ -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
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue