diff --git a/.github/actions/setup-env.yaml b/.github/actions/setup-env.yaml new file mode 100644 index 0000000..fb90bbb --- /dev/null +++ b/.github/actions/setup-env.yaml @@ -0,0 +1,25 @@ +name: 🛠️ Setup Env + +on: + workflow_call: + inputs: + flutter_version: + required: true + type: string + default: "stable" + description: "Flutter version to use. Default is 'stable'." +jobs: + setup: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "${{ inputs.flutter_version }}" + flutter-version-file: pubspec.yaml + - name: Install dependencies + run: flutter pub get diff --git a/.github/workflows/flutter_test.yaml b/.github/workflows/flutter_test.yaml index 21eb8c2..59a3485 100644 --- a/.github/workflows/flutter_test.yaml +++ b/.github/workflows/flutter_test.yaml @@ -10,28 +10,11 @@ on: workflow_dispatch: jobs: - setup: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Set up Flutter - uses: subosito/flutter-action@v2 - with: - channel: "stable" - flutter-version-file: pubspec.yaml - - - name: Install dependencies - run: flutter pub get - test: - needs: setup runs-on: ubuntu-latest - steps: + - uses: ./.github/actions/setup-env.yaml + # Debug: Echo current directory contents - name: List root directory contents run: | @@ -53,12 +36,6 @@ jobs: echo "\nSubmodule details:" git submodule foreach 'echo $path: && pwd && ls -la' - - name: Decode android/upload.jks - run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks - - - name: Decode android/key.properties - run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties - - name: Run flutter tests run: flutter test @@ -66,6 +43,14 @@ jobs: needs: test runs-on: ubuntu-latest steps: + - uses: ./.github/actions/setup-env.yaml + + - name: Decode android/upload.jks + run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks + + - name: Decode android/key.properties + run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties + - name: Set Up Java uses: actions/setup-java@v3.12.0 with: