Compare commits

..

6 Commits

Author SHA1 Message Date
Thomas Aunvik
74af56c5ed Support older yq versions (#329) 2024-11-23 23:26:19 +01:00
Koji Wakamiya
9bc1d83fda Remove macos-14 from matrix (#304)
* fix: Fix conditional statements in workflow

* chore: Update operating system matrix
2024-11-23 23:26:02 +01:00
Bartek Pacia
bcec24ecf7 Fix failing tests (#327)
* try to fix failing tests

* continue on error

* remove Flutter versions that aren't available natively for arm64 macOS

* explicitly specify arch = x64 (`-a x64`)

* fix order of args

* remove redundant quotes

* make `dry-run` also accept bools
2024-08-21 02:53:58 +01:00
Bartek Pacia
94b32dd006 test action: allow to run manually (#325) 2024-08-20 02:09:15 +01:00
kzrnm
44ac965b96 Add dry-run (#270)
* Add dry-run

* Add dry-run test

* format

---------

Co-authored-by: Bartek Pacia <barpac02@gmail.com>
2024-04-02 14:25:52 +02:00
Bartek Pacia
980391a6c5 more README fixes (#292) 2024-04-01 04:09:25 +02:00
4 changed files with 78 additions and 34 deletions

View File

@@ -1,6 +1,7 @@
name: Main workflow
name: test
on:
workflow_dispatch:
push:
branches:
- main
@@ -26,8 +27,9 @@ jobs:
strategy:
matrix:
operating-system:
[ubuntu-latest, windows-latest, macos-latest, macos-13, macos-14]
[ubuntu-latest, windows-latest, macos-latest, macos-13]
channel: [stable, beta, master]
dry-run: [true, false]
include:
- operating-system: ubuntu-latest
channel: main
@@ -39,6 +41,7 @@ jobs:
uses: ./
with:
channel: ${{ matrix.channel }}
dry-run: ${{ matrix.dry-run }}
- name: Echo outputs
run: |
echo RUNNER-OS=${{ runner.os }}
@@ -51,8 +54,16 @@ jobs:
echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }}
shell: bash
- run: dart --version
if: ${{ matrix.dry-run != true }}
shell: bash
- run: flutter --version
if: ${{ matrix.dry-run != true }}
shell: bash
- run: "! dart --version"
if: ${{ matrix.dry-run == true }}
shell: bash
- run: "! flutter --version"
if: ${{ matrix.dry-run == true }}
shell: bash
test_cache:
@@ -61,7 +72,7 @@ jobs:
strategy:
matrix:
operating-system:
[ubuntu-latest, windows-latest, macos-latest, macos-13, macos-14]
[ubuntu-latest, windows-latest, macos-latest, macos-13]
steps:
- name: Clone repository
@@ -98,7 +109,10 @@ jobs:
shell: bash
test_print_output:
runs-on: macos-latest
runs-on: macos-13
# These calls to setup.sh sepcify the -t flag, which enables test mode.
# Test mode uses hardcoded Flutter release manifests from test/ directory.
steps:
- name: Clone repository
@@ -109,7 +123,7 @@ jobs:
shell: bash
- run: ./setup.sh -t -p | grep '3.7.7'
shell: bash
- run: ./setup.sh -t -p | grep 'x64'
- run: ./setup.sh -t -p -a x64 | grep 'x64'
shell: bash
- run: ./setup.sh -t -p stable | grep 'stable'
shell: bash
@@ -121,13 +135,13 @@ jobs:
shell: bash
- run: ./setup.sh -t -p -n 3.3.1 stable | grep '3.3.1'
shell: bash
- run: ./setup.sh -t -p -n 2 stable | grep '2.10.5'
- run: ./setup.sh -t -p -n 2 -a x64 stable | grep '2.10.5'
shell: bash
- run: ./setup.sh -t -p -n 2 beta | grep '2.13.0-0.4.pre'
- run: ./setup.sh -t -p -n 2 -a x64 beta | grep '2.13.0-0.4.pre'
shell: bash
- run: ./setup.sh -t -p -n 2 any | grep 'beta'
- run: ./setup.sh -t -p -n 2 -a x64 any | grep 'beta'
shell: bash
- run: ./setup.sh -t -p -n 2 any | grep '2.13.0-0.4.pre'
- run: ./setup.sh -t -p -n 2 -a x64 any | grep '2.13.0-0.4.pre'
shell: bash
- run: ./setup.sh -t -p -n 3 any | grep 'beta'
shell: bash
@@ -141,47 +155,45 @@ jobs:
shell: bash
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64'
shell: bash
- run: ./setup.sh -t -p -n 1 stable | grep '1.22.6'
- run: ./setup.sh -t -p -n 1 -a x64 stable | grep '1.22.6'
shell: bash
- run: ./setup.sh -t -p -n 0 any | grep 'beta'
- run: ./setup.sh -t -p -n 0 -a x64 any | grep 'beta'
shell: bash
- run: ./setup.sh -t -p -n 0 any | grep '0.11.13'
- run: ./setup.sh -t -p -n 0 -a x64 any | grep '0.11.13'
shell: bash
- run: ./setup.sh -t -p | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
- run: ./setup.sh -t -p -a x64 | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
- run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
- run: ./setup.sh -t -p -a x64 stable | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
- run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896'
- run: ./setup.sh -t -p -a x64 beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896'
shell: bash
- run: ./setup.sh -t -p dev | grep 'flutter-macos-dev-2.11.0-0.1.pre-x64-b101bfe32f634566e7cb2791a9efe19cf8828b15'
- run: ./setup.sh -t -p -a x64 dev | grep 'flutter-macos-dev-2.11.0-0.1.pre-x64-b101bfe32f634566e7cb2791a9efe19cf8828b15'
shell: bash
- run: ./setup.sh -t -p master | grep 'flutter-macos-master-any-x64-master'
- run: ./setup.sh -t -p -a x64 master | grep 'flutter-macos-master-any-x64-master'
shell: bash
- run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-macos-master-5b12b74-x64-master'
- run: ./setup.sh -t -p -n 5b12b74 -a x64 master | grep 'flutter-macos-master-5b12b74-x64-master'
shell: bash
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-macos-master-3.12.0-12.0.pre-x64-master'
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre -a x64 master | grep 'flutter-macos-master-3.12.0-12.0.pre-x64-master'
shell: bash
- run: ./setup.sh -t -p -n stable master | grep 'flutter-macos-master-stable-x64-master'
- run: ./setup.sh -t -p -n 2 -a x64 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
shell: bash
- run: ./setup.sh -t -p -n 2 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
- run: ./setup.sh -t -p -n 1 -a x64 any | grep 'flutter-macos-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff'
shell: bash
- run: ./setup.sh -t -p -n 1 any | grep 'flutter-macos-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff'
- run: ./setup.sh -t -p -n 0 -a x64 any | grep 'flutter-macos-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
shell: bash
- run: ./setup.sh -t -p -n 0 any | grep 'flutter-macos-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
- run: ./setup.sh -t -p -a x64 | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64'
shell: bash
- run: ./setup.sh -t -p | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64'
- run: ./setup.sh -t -p -a x64 stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64'
shell: bash
- run: ./setup.sh -t -p stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64'
- run: ./setup.sh -t -p -a x64 beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-x64'
- run: ./setup.sh -t -p -a x64 dev | grep '/Users/runner/hostedtoolcache/flutter/dev-2.11.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p dev | grep '/Users/runner/hostedtoolcache/flutter/dev-2.11.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p master | grep '/Users/runner/hostedtoolcache/flutter/master-any-x64'
- run: ./setup.sh -t -p -a x64 master | grep '/Users/runner/hostedtoolcache/flutter/master-any-x64'
shell: bash
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:hash:' | grep 'custom-stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' | grep 'custom-stable-3.7.7-78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5'
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' -a x64 | grep 'custom-stable-3.7.7-78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5'
shell: bash
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash

View File

@@ -5,8 +5,6 @@ macOS.
The following sections show how to configure this action.
Maintainers: [Alif Rachmawadi] (original creator), [Bartek Pacia]
## Specifying Flutter version
### Use specific version and channel
@@ -62,7 +60,7 @@ steps:
> [!WARNING]
>
> Using `flutter-version-file` requires [`yq`][https://github.com/mikefarah/yq],
> Using `flutter-version-file` requires [`yq`](https://github.com/mikefarah/yq),
> which is not pre-installed in `windows` images. Install it yourself.
### Use latest release for particular channel
@@ -284,5 +282,34 @@ steps:
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
```
If you don't need to install Flutter and just want the outputs, you can use the
`dry-run` option:
```yaml
steps:
- name: Clone repository
- uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
id: flutter-action
with:
channel: stable
dry-run: true
- run: |
echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }}
echo VERSION=${{ steps.flutter-action.outputs.VERSION }}
echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }}
echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
shell: bash
```
## Maintainers
- [Alif Rachmawadi] (original creator)
- [Bartek Pacia]
[Alif Rachmawadi]: https://github.com/subosito
[Bartek Pacia]: https://github.com/bartekpacia

View File

@@ -42,6 +42,10 @@ inputs:
description: Flutter pub cache path
required: false
default: default
dry-run:
description: If true, get outputs but do not install Flutter
required: false
default: "false"
outputs:
CHANNEL:
@@ -108,6 +112,7 @@ runs:
- name: Run setup script
shell: bash
if: ${{ inputs.dry-run != 'true' && inputs.dry-run != true }}
run: |
$GITHUB_ACTION_PATH/setup.sh \
-n '${{ steps.flutter-action.outputs.VERSION }}' \

View File

@@ -108,7 +108,7 @@ if [ -n "$VERSION_FILE" ]; then
exit 1
fi
VERSION="$(yq '.environment.flutter' "$VERSION_FILE")"
VERSION="$(yq eval '.environment.flutter' "$VERSION_FILE")"
fi
ARR_CHANNEL=("${@:$OPTIND:1}")