|
22 | 22 | PLATFORM_FLAG="" |
23 | 23 | fi |
24 | 24 |
|
25 | | -docker build $PLATFORM_FLAG -f .docker/android-sdk.dockerfile . -t komodo/android-sdk:35 |
| 25 | +HOST_UID=$(id -u) |
| 26 | +HOST_GID=$(id -g) |
| 27 | + |
| 28 | +# Use fallback UID/GID if running as root to avoid conflicts |
| 29 | +# in GitHub Actions where the UID/GID may be 0. |
| 30 | +# android-sdk.dockerfile attempts to create a user with the |
| 31 | +# provided UID/GID, so 0 is not a valid choice (already exists). |
| 32 | +if [ "$HOST_UID" = "0" ]; then |
| 33 | + HOST_UID=1000 |
| 34 | + HOST_GID=1000 |
| 35 | +fi |
| 36 | + |
| 37 | +docker build $PLATFORM_FLAG --build-arg BUILD_USER_ID=$HOST_UID -f .docker/android-sdk.dockerfile . -t komodo/android-sdk:35 |
26 | 38 | docker build $PLATFORM_FLAG -f .docker/komodo-wallet-android.dockerfile . -t komodo/komodo-wallet |
27 | 39 |
|
| 40 | +# Create the build directory ourselves to prevent it from being created by the Docker daemon (as root) |
| 41 | +mkdir -p ./build |
| 42 | + |
| 43 | +COMMIT_HASH=$(git rev-parse --short HEAD | cut -c1-7) |
| 44 | + |
| 45 | +ENV_ARGS="" |
| 46 | +ENV_VARS="GITHUB_API_PUBLIC_READONLY_TOKEN TRELLO_API_KEY \ |
| 47 | +TRELLO_TOKEN TRELLO_BOARD_ID TRELLO_LIST_ID \ |
| 48 | +FEEDBACK_API_KEY FEEDBACK_PRODUCTION_URL FEEDBACK_TEST_URL \ |
| 49 | +COMMIT_HASH" |
| 50 | + |
| 51 | +for VAR in $ENV_VARS; do |
| 52 | + case "$VAR" in |
| 53 | + GITHUB_API_PUBLIC_READONLY_TOKEN) VALUE=$GITHUB_API_PUBLIC_READONLY_TOKEN ;; |
| 54 | + TRELLO_API_KEY) VALUE=$TRELLO_API_KEY ;; |
| 55 | + TRELLO_TOKEN) VALUE=$TRELLO_TOKEN ;; |
| 56 | + TRELLO_BOARD_ID) VALUE=$TRELLO_BOARD_ID ;; |
| 57 | + TRELLO_LIST_ID) VALUE=$TRELLO_LIST_ID ;; |
| 58 | + FEEDBACK_API_KEY) VALUE=$FEEDBACK_API_KEY ;; |
| 59 | + FEEDBACK_PRODUCTION_URL) VALUE=$FEEDBACK_PRODUCTION_URL ;; |
| 60 | + FEEDBACK_TEST_URL) VALUE=$FEEDBACK_TEST_URL ;; |
| 61 | + COMMIT_HASH) VALUE=$COMMIT_HASH ;; |
| 62 | + *) VALUE= ;; |
| 63 | + esac |
| 64 | + |
| 65 | + [ -n "$VALUE" ] && ENV_ARGS="$ENV_ARGS -e $VAR=$VALUE" |
| 66 | +done |
| 67 | + |
28 | 68 | # Use the provided arguments for flutter build |
29 | 69 | # Build a second time if needed, as asset downloads will require a rebuild on the first attempt |
30 | 70 | docker run $PLATFORM_FLAG --rm -v ./build:/app/build \ |
31 | | - -u "$(id -u):$(id -g)" \ |
| 71 | + -v $(pwd):/app \ |
| 72 | + -u "$HOST_UID:$HOST_GID" \ |
| 73 | + $ENV_ARGS \ |
32 | 74 | komodo/komodo-wallet:latest sh -c \ |
33 | | - "flutter pub get --enforce-lockfile && flutter build $BUILD_TARGET --no-pub --$BUILD_MODE || flutter pub get --enforce-lockfile && flutter build $BUILD_TARGET --no-pub --$BUILD_MODE" |
| 75 | + "sudo chown -R komodo:komodo /app/build; flutter pub get --enforce-lockfile; flutter build web --no-pub || true; flutter build $BUILD_TARGET --config-only; flutter build $BUILD_TARGET --no-pub --dart-define=COMMIT_HASH=$COMMIT_HASH --$BUILD_MODE" |
0 commit comments