Remove tar actions/cache in setup-flutter in favor of instant persistent disk SDK reuse
Update README Actions Table / update-readme (push) Failing after 3s

This commit is contained in:
2026-08-22 22:22:53 -07:00
parent 733fd54800
commit 40c5bc78f1
2 changed files with 8 additions and 39 deletions
+5 -16
View File
@@ -1,42 +1,31 @@
# Setup Flutter # Setup Flutter
Cross-platform composite action to set up the Flutter SDK with automated caching on macOS, Windows, and Linux. Supports local Git mirrors with automatic fallback to upstream GitHub. Cross-platform composite action to set up the Flutter SDK with concurrency locking and local Git mirror support on macOS, Windows, and Linux.
## Features ## Features
- **Multi-OS Support**: Native setup for macOS (Apple Silicon & Intel), Windows (PowerShell), and Linux. - **Multi-OS Support**: Native setup for macOS (Apple Silicon & Intel), Windows (PowerShell), and Linux.
- **Git Mirror & Fallback**: Clones from local Gitea Flutter mirror (`https://git.rodydavis.dev/rodydavis/flutter.git`) with automatic fallback to `https://github.com/flutter/flutter.git`. - **Git Mirror & Fallback**: Clones from local Gitea Flutter mirror (`https://git.rodydavis.dev/rodydavis/flutter.git`) with automatic fallback to `https://github.com/flutter/flutter.git`.
- **SDK Caching**: Uses `actions/cache@v3` to cache the full Flutter SDK directory across workflow runs based on OS, CPU architecture, and version. - **Fast Local Disk Caching & Concurrency Locks**: Reuses persistent runner SDK installations on disk without expensive tar compression steps or race conditions between parallel jobs.
- **Desktop Windowing**: Automatically configures desktop windowing support and exports Flutter to `$GITHUB_PATH`. - **Desktop Windowing**: Automatically configures desktop windowing support and exports Flutter to `$GITHUB_PATH`.
## Inputs ## Inputs
| Name | Description | Required | Default | | Name | Description | Required | Default |
| :--- | :--- | :--- | :--- | | :--- | :--- | :--- | :--- |
| `version` | Flutter channel, tag, or branch (e.g., `master`, `stable`, `3.29.0`). | No | `master` | | `version` | Flutter channel, tag, or commit hash (e.g., `master`, `stable`, `3.29.0`, `4ebf37fe...`). | No | `master` |
| `mirror_url` | Git repository URL for Flutter SDK mirror. | No | `https://git.rodydavis.dev/rodydavis/flutter.git` | | `mirror_url` | Git repository URL for Flutter SDK mirror. | No | `https://git.rodydavis.dev/rodydavis/flutter.git` |
| `git_token` | Gitea token for authenticated git mirror access. | No | `''` | | `git_token` | Gitea token for authenticated git mirror access. | No | `''` |
| `cache` | Enable Flutter SDK caching across CI runs. | No | `true` |
| `enable_windowing` | Enable desktop windowing and platform configs. | No | `true` | | `enable_windowing` | Enable desktop windowing and platform configs. | No | `true` |
## Example Usage ## Example Usage
### Basic Usage (Master Channel) ### Pinned Commit Hash
```yaml ```yaml
- name: Set up Flutter - name: Set up Flutter
uses: rodydavis/shared-actions/setup-flutter@main uses: rodydavis/shared-actions/setup-flutter@main
with: with:
version: master version: 4ebf37fe7df0a130ba5bee17315b98f905c10b34
git_token: ${{ secrets.GIT_TOKEN }} git_token: ${{ secrets.GIT_TOKEN }}
``` ```
### Specific Version Tag with Caching
```yaml
- name: Set up Flutter 3.29.0
uses: rodydavis/shared-actions/setup-flutter@main
with:
version: '3.29.0'
cache: 'true'
```
+3 -23
View File
@@ -1,5 +1,5 @@
name: 'Setup Flutter' name: 'Setup Flutter'
description: 'Cross-platform setup for Flutter with caching on macOS, Windows, and Linux.' description: 'Cross-platform setup for Flutter with local mirror and multi-runner concurrency support.'
inputs: inputs:
version: version:
description: 'Flutter channel, version tag, or commit hash (e.g., master, stable, 3.29.0, 4ebf37fe7df0a130ba5bee17315b98f905c10b34)' description: 'Flutter channel, version tag, or commit hash (e.g., master, stable, 3.29.0, 4ebf37fe7df0a130ba5bee17315b98f905c10b34)'
@@ -13,10 +13,6 @@ inputs:
description: 'Gitea token for authenticated git cloning' description: 'Gitea token for authenticated git cloning'
required: false required: false
default: '' default: ''
cache:
description: 'Enable Flutter SDK caching'
required: false
default: 'true'
enable_windowing: enable_windowing:
description: 'Enable windowing and desktop support' description: 'Enable windowing and desktop support'
required: false required: false
@@ -25,24 +21,8 @@ inputs:
runs: runs:
using: 'composite' using: 'composite'
steps: steps:
- name: Determine Cache Key
id: cache-key
shell: bash
run: |
echo "key=flutter-${{ runner.os }}-${{ runner.arch }}-${{ inputs.version }}" >> $GITHUB_OUTPUT
- name: Cache Flutter SDK
if: inputs.cache == 'true'
id: flutter-cache
uses: actions/cache@v3
with:
path: |
~/flutter-sdk
C:\flutter-sdk
key: ${{ steps.cache-key.outputs.key }}
- name: Install Flutter (macOS / Linux) - name: Install Flutter (macOS / Linux)
if: runner.os != 'Windows' && steps.flutter-cache.outputs.cache-hit != 'true' if: runner.os != 'Windows'
shell: bash shell: bash
run: | run: |
LOCK_DIR="${TMPDIR:-/tmp}/flutter-sdk-setup.lock" LOCK_DIR="${TMPDIR:-/tmp}/flutter-sdk-setup.lock"
@@ -82,7 +62,7 @@ runs:
rm -rf "$LOCK_DIR" || true rm -rf "$LOCK_DIR" || true
- name: Install Flutter (Windows) - name: Install Flutter (Windows)
if: runner.os == 'Windows' && steps.flutter-cache.outputs.cache-hit != 'true' if: runner.os == 'Windows'
shell: powershell shell: powershell
run: | run: |
$lockDir = Join-Path $env:TEMP "flutter-sdk-setup.lock" $lockDir = Join-Path $env:TEMP "flutter-sdk-setup.lock"