Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .gitattributes

This file was deleted.

3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ body:
- "Windows 11 (23H2 or newer)"
- "Windows 11 (Older version)"
- "Windows 10 (1809+)"
- "macOS 15 (Sequoia) or newer"
- "macOS 13–14 (Ventura / Sonoma)"
- "Other / unsupported (Linux ≤ v2.11.0 — reports not accepted)"
validations:
required: true
- type: textarea
Expand Down
9 changes: 9 additions & 0 deletions .github/actions/setup-flutter-workspace/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ inputs:
description: Flutter channel passed to subosito/flutter-action.
required: false
default: stable
flutter-version:
description: >-
Pinned Flutter release. `channel: stable` alone floats, so a new
stable silently changes dart format output and reddens CI on
untouched files. Bump deliberately: upgrade locally, run
`dart format .`, commit the reformat and this value together.
required: false
default: 3.44.1
version:
description: When set, writes this version into app/pubspec.yaml after bootstrap.
required: false
Expand All @@ -17,6 +25,7 @@ runs:
- uses: subosito/flutter-action@v2
with:
channel: ${{ inputs.channel }}
flutter-version: ${{ inputs.flutter-version }}
cache: true

- name: Cache pub dependencies
Expand Down
38 changes: 0 additions & 38 deletions .github/actions/setup-linux-build-deps/action.yml

This file was deleted.

54 changes: 34 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,15 @@ jobs:
- name: Validate release workflow references
run: |
errors=0
for wf in release-win.yml release-mac.yml release-linux.yml; do
for wf in release-win.yml release-mac.yml; do
if [ ! -f ".github/workflows/$wf" ]; then
echo "::error::Missing .github/workflows/$wf (referenced by release.yml)"
errors=$((errors + 1))
else
echo "OK .github/workflows/$wf"
fi
done
for act in setup-flutter-workspace setup-linux-build-deps; do
for act in setup-flutter-workspace; do
if [ ! -f ".github/actions/$act/action.yml" ]; then
echo "::error::Missing .github/actions/$act/action.yml (referenced by the build jobs)"
errors=$((errors + 1))
Expand All @@ -142,7 +142,7 @@ jobs:
- name: Validate project structure
run: |
errors=0
for dir in app/lib app/windows app/macos app/linux app/assets; do
for dir in app/lib app/windows app/macos app/assets listener/windows listener/macos; do
if [ ! -d "$dir" ]; then
echo "::error::Missing required directory: $dir"
errors=$((errors + 1))
Expand Down Expand Up @@ -181,41 +181,55 @@ jobs:
build:
needs: quality
runs-on: windows-latest
name: Build Verification (Windows)
name: Test & Build (Windows)

steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/setup-flutter-workspace

- name: Build Windows release
run: cd app; flutter build windows --release

build-linux:
needs: quality
runs-on: ubuntu-22.04
name: Build Verification (Linux)

steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/setup-linux-build-deps
# Las ramas Windows sólo se ejecutan aquí: en ubuntu quedan saltadas.
# Invocado vía dart por la misma razón que en setup-flutter-workspace.
- name: Run tests
shell: bash
run: dart pub global run melos:melos run test:coverage

- uses: ./.github/actions/setup-flutter-workspace
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: core/coverage/lcov.info,listener/coverage/lcov.info,app/coverage/lcov.info
flags: windows
fail_ci_if_error: false

- name: Build Linux release
run: cd app && flutter build linux --release
- name: Build Windows release
run: cd app; flutter build windows --release

build-macos:
needs: quality
runs-on: macos-latest
name: Build Verification (macOS)
name: Test & Build (macOS)

steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/setup-flutter-workspace

# Las ramas macOS sólo se ejecutan aquí: en ubuntu quedan saltadas.
- name: Run tests
shell: bash
run: dart pub global run melos:melos run test:coverage

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: core/coverage/lcov.info,listener/coverage/lcov.info,app/coverage/lcov.info
flags: macos
fail_ci_if_error: false

- name: Build macOS release
run: cd app && flutter build macos --release

Expand Down
Loading
Loading