Skip to content

Bump body-parser and express in /firebase/functions #774

Bump body-parser and express in /firebase/functions

Bump body-parser and express in /firebase/functions #774

Workflow file for this run

name: Flutter
on:
push:
branches:
- "**"
env:
GCS_PATH: gs://flutterttdemo/${{ github.sha }}
GCS_URL: https://storage.googleapis.com/flutterttdemo/${{ github.sha }}
GIT_CRYPT_KEY: ${{ secrets.GIT_CRYPT_KEY }}
jobs:
test:
if: ${{ startsWith(github.ref, 'refs/heads/') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Prepare repo
run: |
set -e
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
bash ./.github/workflows/prepare.sh
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare packages/api
run: |
set -e
cd ./packages/api
./tool/build.sh
flutter test --coverage
- run: flutter test --coverage
- uses: actions/upload-artifact@v4
if: failure()
with:
name: failures
path: "**/failures/*.png"
- uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
build_apk:
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'android') || startsWith(github.ref, 'refs/heads/renovate/flutter-') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Prepare repo
run: |
set -e
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
bash ./.github/workflows/prepare.sh
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare packages/api
run: ./packages/api/tool/build.sh
- run: flutter pub get
- name: Run flutter build apk
run: |
set -e
export JAVA_HOME=$JAVA_HOME_17_X64
flutter doctor -v
flutter build apk --split-per-abi
- name: Setup GCP authentication
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_UPLOADER_SA_KEY }}
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
- name: Run gsutil cp
run: gsutil cp build/app/outputs/apk/release/*.apk "${GCS_PATH}/apk"
- name: Prepare markdown
id: markdown
run: |
set -e
_message=$( \
echo '### Android builds'; \
echo '```'; \
cat android/local.properties; \
echo; \
echo '```'; \
echo; \
ls build/app/outputs/apk/release/*.apk \
| xargs -n 1 basename \
| xargs -n 1 -I {} printf -- "- [%s](${GCS_URL}/apk/%s)\n" {} {}; \
)
printf 'MESSAGE<<EOF\n%s\nEOF\n' "${_message}" >> $GITHUB_OUTPUT
- name: Post GitHub comment
uses: daohoangson/comment-on-github@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.markdown.outputs.MESSAGE }}
fingerprint: <!-- ${{ github.sha }} -->
build_ipa:
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'ios') }}
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Prepare repo
run: bash ./.github/workflows/prepare.sh
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare packages/api
run: ./packages/api/tool/build.sh
- run: flutter pub get
- name: Run flutter build ios
run: |
set -e
flutter build ios || true
( cd ios && fastlane build_ipa )
- name: Setup GCP authentication
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_UPLOADER_SA_KEY }}
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
- name: Run gsutil cp
run: |
set -e
_releaseDir=build/app/outputs/ipa/release
echo "<script>location='itms-services://?action=download-manifest&url='+encodeURIComponent('${GCS_URL}/ipa/manifest.plist');</script>" \
>"${_releaseDir}/redirect.html"
gsutil cp "${_releaseDir}"/* "${GCS_PATH}/ipa"
- name: Prepare markdown
id: markdown
run: |
set -e
_message=$( \
echo '### iOS build'; \
echo '```'; \
cat ios/Flutter/Generated.xcconfig; \
echo; \
echo '```'; \
echo; \
printf '[manifest.plist](%s)' "${GCS_URL}/ipa/redirect.html"; \
)
printf 'MESSAGE<<EOF\n%s\nEOF\n' "${_message}" >> $GITHUB_OUTPUT
- name: Post GitHub comment
uses: daohoangson/comment-on-github@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.markdown.outputs.MESSAGE }}
fingerprint: <!-- ${{ github.sha }} -->
build_linux:
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'linux') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Prepare repo
run: |
set -e
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
bash ./.github/workflows/prepare.sh
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare packages/api
run: ./packages/api/tool/build.sh
- run: flutter pub get
- name: Run flutter build linux
run: |
set -e
sudo apt-get update -y
sudo apt-get install -y clang libgtk-3-dev ninja-build
flutter doctor
# for flutter_secure_storage
sudo apt-get install libsecret-1-dev libjsoncpp-dev
flutter build linux
cd build/linux/x64/release
zip -r bundle.zip bundle/*
- name: Setup GCP authentication
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_UPLOADER_SA_KEY }}
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
- name: Run gsutil cp
run: gsutil cp build/linux/x64/release/bundle.zip "${GCS_PATH}/linux/bundle.zip"
- name: Prepare markdown
id: markdown
run: |
set -e
_message=$( \
echo '### Linux build'; \
echo '```'; \
cat linux/flutter/ephemeral/generated_config.cmake; \
echo; \
echo '```'; \
echo; \
printf '[bundle.zip](%s)\n' "${GCS_URL}/linux/bundle.zip"; \
)
printf 'MESSAGE<<EOF\n%s\nEOF\n' "${_message}" >> $GITHUB_OUTPUT
- name: Post GitHub comment
uses: daohoangson/comment-on-github@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.markdown.outputs.MESSAGE }}
fingerprint: <!-- ${{ github.sha }} -->
build_macos:
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'macos') || startsWith(github.ref, 'refs/heads/renovate/flutter-') }}
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Prepare repo
run: bash ./.github/workflows/prepare.sh
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare packages/api
run: ./packages/api/tool/build.sh
- run: flutter pub get
- name: Run flutter build macos
run: |
set -e
flutter build macos || true
( cd macos && fastlane app )
cd build/app/outputs/macos/release
_appPath=$( ls -d *.app )
_appBasename=$( basename "${_appPath}" )
ditto -c -k --keepParent "${_appBasename}" "${_appBasename}.zip"
- name: Setup GCP authentication
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_UPLOADER_SA_KEY }}
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
- name: Run gsutil cp
run: gsutil cp build/app/outputs/macos/release/* "${GCS_PATH}/macos"
- name: Prepare markdown
id: markdown
run: |
set -e
_message=$( \
echo '### macOS build'; \
echo '```'; \
cat macos/Flutter/ephemeral/Flutter-Generated.xcconfig; \
echo; \
echo '```'; \
echo; \
ls build/app/outputs/macos/release/*.zip \
| xargs -n 1 basename \
| xargs -n 1 -I {} printf -- "- [%s](${GCS_URL}/macos/%s)\n" {} {}; \
)
printf 'MESSAGE<<EOF\n%s\nEOF\n' "${_message}" >> $GITHUB_OUTPUT
- name: Post GitHub comment
uses: daohoangson/comment-on-github@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.markdown.outputs.MESSAGE }}
fingerprint: <!-- ${{ github.sha }} -->
build_windows:
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'windows') }}
runs-on: windows-2022
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: Vampire/setup-wsl@v3
with:
additional-packages: git-crypt
distribution: Ubuntu-22.04
- name: Prepare repo
shell: wsl-bash {0}
run: |
set -e
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && chmod +x /usr/bin/yq
bash ./.github/workflows/prepare.sh
env:
WSLENV: GITHUB_ENV:GITHUB_RUN_ATTEMPT:GITHUB_RUN_NUMBER:GIT_CRYPT_KEY
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare packages/api
run: ./packages/api/tool/build.sh
- run: flutter pub get
- run: flutter build windows
- name: Run flutter pub run msix:create
run: flutter pub run msix:create --install-certificate=false
- name: Setup GCP authentication
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_UPLOADER_SA_KEY }}
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
- name: Run gsutil cp
run: |
set -e
gsutil cp build/windows/x64/runner/Release/the_app.msix "${GCS_PATH}/windows/the_app.msix"
- name: Prepare markdown
id: markdown
run: |
set -e
_message=$( \
echo '### Windows build'; \
echo '```'; \
cat windows/flutter/ephemeral/generated_config.cmake; \
echo; \
echo '```'; \
echo; \
printf '1. [Installing a test certificate directly from an MSIX package](https://www.advancedinstaller.com/install-test-certificate-from-msix.html)\n'; \
printf '1. Then run [the installer](%s)\n' "${GCS_URL}/windows/the_app.msix"; \
)
printf 'MESSAGE<<EOF\n%s\nEOF\n' "${_message}" >> $GITHUB_OUTPUT
- name: Post GitHub comment
uses: daohoangson/comment-on-github@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.markdown.outputs.MESSAGE }}
fingerprint: <!-- ${{ github.sha }} -->