Skip to content

Commit

Permalink
feat: add git source support (#334)
Browse files Browse the repository at this point in the history
* try to add git source support

* improve GIT_SOURCE output name

* fix syntax

---------

Co-authored-by: Bartek Pacia <[email protected]>
  • Loading branch information
ErBWs and bartekpacia authored Dec 3, 2024
1 parent 8535a80 commit 799318a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 3 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,16 @@ jobs:
strategy:
matrix:
operating-system:
[ubuntu-latest, windows-latest, macos-latest, macos-13]
- ubuntu-latest
- windows-latest
- macos-latest
- macos-13
channel: [stable, beta, master]
dry-run: [true, false]
git-source:
- https://github.com/flutter/flutter.git
- https://github.com/Flutter-Foundation/flutter.git
- https://gitee.com/harmonycommando_flutter/flutter.git
include:
- operating-system: ubuntu-latest
channel: main
Expand All @@ -42,6 +49,7 @@ jobs:
with:
channel: ${{ matrix.channel }}
dry-run: ${{ matrix.dry-run }}
git-source: ${{ matrix.git-source }}
- name: Echo outputs
run: |
echo RUNNER-OS=${{ runner.os }}
Expand Down
8 changes: 8 additions & 0 deletions action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ inputs:
description: If true, get outputs but do not install Flutter
required: false
default: "false"
git-source:
description: Git clone source
required: false
default: "https://github.com/flutter/flutter.git"

outputs:
CHANNEL:
Expand All @@ -69,6 +73,9 @@ outputs:
PUB-CACHE-PATH:
value: "${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}"
description: Path to pub cache
GIT_SOURCE:
value: "${{ steps.flutter-action.outputs.GIT_SOURCE }}"
description: Git source of Flutter SDK repository to clone

runs:
using: composite
Expand Down Expand Up @@ -97,6 +104,7 @@ runs:
-c '${{ inputs.cache-path }}' \
-l '${{ inputs.pub-cache-key }}' \
-d '${{ inputs.pub-cache-path }}' \
-g '${{ inputs.git-source }}' \
${{ inputs.channel }}
- name: Cache Flutter
Expand Down
7 changes: 5 additions & 2 deletions setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,9 @@ TEST_MODE=false
ARCH=""
VERSION=""
VERSION_FILE=""
GIT_SOURCE=""

while getopts 'tc:k:d:l:pa:n:f:' flag; do
while getopts 'tc:k:d:l:pa:n:f:g:' flag; do
case "$flag" in
c) CACHE_PATH="$OPTARG" ;;
k) CACHE_KEY="$OPTARG" ;;
Expand All @@ -96,6 +97,7 @@ while getopts 'tc:k:d:l:pa:n:f:' flag; do
exit 1
fi
;;
g) GIT_SOURCE="$OPTARG" ;;
?) exit 2 ;;
esac
done
Expand All @@ -121,6 +123,7 @@ CHANNEL="${ARR_CHANNEL[0]:-}"
[ -z "$CACHE_KEY" ] && CACHE_KEY="flutter-:os:-:channel:-:version:-:arch:-:hash:"
[ -z "$PUB_CACHE_KEY" ] && PUB_CACHE_KEY="flutter-pub-:os:-:channel:-:version:-:arch:-:hash:"
[ -z "$PUB_CACHE_PATH" ] && PUB_CACHE_PATH="default"
[ -z "$GIT_SOURCE" ] && GIT_SOURCE="https://github.com/flutter/flutter.git"

# `PUB_CACHE` is what Dart and Flutter looks for in the environment, while
# `PUB_CACHE_PATH` is passed in from the action.
Expand Down Expand Up @@ -213,7 +216,7 @@ fi

if [ ! -x "$CACHE_PATH/bin/flutter" ]; then
if [ "$CHANNEL" = "master" ] || [ "$CHANNEL" = "main" ]; then
git clone -b "$CHANNEL" https://github.com/flutter/flutter.git "$CACHE_PATH"
git clone -b "$CHANNEL" "$GIT_SOURCE" "$CACHE_PATH"
if [ "$VERSION" != "any" ]; then
git config --global --add safe.directory "$CACHE_PATH"
(cd "$CACHE_PATH" && git checkout "$VERSION")
Expand Down

0 comments on commit 799318a

Please sign in to comment.