Compare commits

...

8 Commits

Author SHA1 Message Date
verified-commit[bot] 7460e97f45 chore(release): prepare for 3.35.1 2025-08-17 16:37:06 +00:00
verified-commit[bot] a290bf28c3 chore(release): update flutter dependencies in version.json for 3.35.1 (#371)
Co-authored-by: verified-commit[bot] <180343340+verified-commit[bot]@users.noreply.github.com>
Co-authored-by: Eligio Mariño <22875166+gmeligio@users.noreply.github.com>
2025-08-17 18:36:51 +02:00
renovate[bot] c9e5d504a0 fix(deps): update react monorepo to v19.1.1 (#369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 20:02:40 +02:00
renovate[bot] 719f1ee3c4 chore(deps): update github-actions (#368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 22:14:15 +02:00
verified-commit[bot] dab70e7e9c chore(release): prepare for 3.32.8 2025-07-29 17:49:11 +00:00
verified-commit[bot] 282af4caac chore(release): update flutter dependencies in version.json for 3.32.8 (#365)
Automated changes by
[create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action

Co-authored-by: verified-commit[bot] <180343340+verified-commit[bot]@users.noreply.github.com>
2025-07-29 19:48:58 +02:00
renovate[bot] 174020461b chore(deps): update debian:12.11-slim docker digest to 2424c18 (#366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Eligio Mariño <22875166+gmeligio@users.noreply.github.com>
2025-07-28 22:27:20 +02:00
renovate[bot] cc23212035 fix(deps): update dependency cross-env to v10 (#367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 20:50:45 +02:00
16 changed files with 133 additions and 489 deletions
+2
View File
@@ -0,0 +1,2 @@
# Normalize all text files to LF in repo, checkout CRLF on Windows
* text=auto eol=lf
+2 -2
View File
@@ -39,7 +39,7 @@ jobs:
return await script({ core })
- name: Load image metadata
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
id: metadata
with:
images: |
@@ -83,7 +83,7 @@ jobs:
# TODO: Parallelize testing and vulnerability scanning
- name: Scan with Docker Scout
id: docker-scout
uses: docker/scout-action@aceeb83b88f2ae54376891227858dda7af647183 # v1.18.1
uses: docker/scout-action@f8c776824083494ab0d56b8105ba2ca85c86e4de # v1.18.2
with:
command: compare, recommendations
# Use the Docker Hub image that is the first tag in the metadata
+1 -1
View File
@@ -48,7 +48,7 @@ jobs:
return await script({ core })
- name: Load image metadata
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
id: metadata
with:
images: |
+3 -3
View File
@@ -37,7 +37,7 @@ jobs:
return await script({ core })
- name: Load image metadata
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
id: metadata
with:
images: |
@@ -137,7 +137,7 @@ jobs:
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: Record image in Docker Scout environment
uses: docker/scout-action@aceeb83b88f2ae54376891227858dda7af647183 # v1.18.1
uses: docker/scout-action@f8c776824083494ab0d56b8105ba2ca85c86e4de # v1.18.2
with:
command: environment, cves
image: registry://${{ github.repository_owner }}/${{ env.IMAGE_REPOSITORY_NAME }}:${{ env.FLUTTER_VERSION }}
@@ -147,7 +147,7 @@ jobs:
sarif-file: sarif.json
- name: Upload the results to GitHub's code scanning dashboard
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
with:
sarif_file: sarif.json
+1 -1
View File
@@ -70,6 +70,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
with:
sarif_file: results.sarif
+2 -2
View File
@@ -1,4 +1,4 @@
FROM debian:12.11-slim@sha256:6ac2c08566499cc2415926653cf2ed7c3aedac445675a013cc09469c9e118fdd AS flutter
FROM debian:12.11-slim@sha256:2424c1850714a4d94666ec928e24d86de958646737b1d113f5b2207be44d37d8 AS flutter
SHELL ["/bin/bash", "-euxo", "pipefail", "-c"]
@@ -150,7 +150,7 @@ ENV ANDROID_HOME="$SDK_ROOT/android-sdk" \
ENV PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$HOME/.local/bin"
# renovate: release=bullseye depName=openjdk-17-jdk-headless
ARG OPENJDK_17_JDK_HEADLESS_VERSION="17.0.15+6-1~deb12u1"
ARG OPENJDK_17_JDK_HEADLESS_VERSION="17.0.16+8-1~deb12u1"
# renovate: release=bullseye depName=sudo
ARG SUDO_VERSION="1.9.13p3-1+deb12u1"
+20
View File
@@ -2,6 +2,26 @@
All notable changes to this project will be documented in this file.
## [3.35.1] - 2025-08-17
### 🐛 Bug Fixes
- *(deps)* Update react monorepo to v19.1.1 (#369)
### ⚙️ Miscellaneous Tasks
- *(release)* Update flutter dependencies in version.json for 3.35.1 (#371)
## [3.32.8] - 2025-07-29
### 🐛 Bug Fixes
- *(deps)* Update dependency cross-env to v10 (#367)
### ⚙️ Miscellaneous Tasks
- *(release)* Update flutter dependencies in version.json for 3.32.8 (#365)
## [3.32.7] - 2025-07-17
### ⚙️ Miscellaneous Tasks
+47 -10
View File
@@ -1,3 +1,17 @@
package config
import "list"
#CommandTests: {
name: _
setup?: _
teardown?: _
command: _
args: _
expectedOutput?: [string]
excludedOutput?: _
}
#FileContentTests: {
name: string
path: _
@@ -6,24 +20,47 @@
#ContainerStructureTest: {
schemaVersion: _
commandTests: _
commandTests: [...#CommandTests]
fileContentTests: [...#FileContentTests]
}
input: #ContainerStructureTest
android_cmdline_tools_version: string @tag(android_cmdline_tools_version)
android_cmdline_tools_test_expected_content: string @tag(android_cmdline_tools_test_expected_content)
android_cmdline_tools_version: string @tag(android_cmdline_tools_version)
android_ndk_version: string @tag(android_ndk_version)
android_sdk_build_tools_version: string @tag(android_sdk_build_tools_version)
output: {
schemaVersion: input.schemaVersion
commandTests: input.commandTests
fileContentTests: [
{
name: "Android SDK Command-line Tools is version \(android_cmdline_tools_version)"
path: input.fileContentTests[0].path
expectedContents: [android_cmdline_tools_test_expected_content]
commandTests: list.Concat([
list.Take(input.commandTests, 1),
[
{
name: input.commandTests[1].name
command: input.commandTests[1].command
args: input.commandTests[1].args
expectedOutput: [android_sdk_build_tools_version]
},
{
name: input.commandTests[2].name
command: input.commandTests[2].command
args: input.commandTests[2].args
expectedOutput: [android_ndk_version]
}
],
list.Drop(input.commandTests, 3),
])
fileContentTests: list.Concat([
if len(input.fileContentTests) > 0 {
[{
name: "Android SDK Command-line Tools is version \(android_cmdline_tools_version)"
path: input.fileContentTests[0].path
expectedContents: [android_cmdline_tools_test_expected_content]
}],
},
input.fileContentTests[1]
]
list.Drop(input.fileContentTests, 1),
])
}
+2 -2
View File
@@ -1,7 +1,7 @@
{
"flutter": {
"channel": "stable",
"commit": "d7b523b356d15fb81e7d340bbe52b47f93937323",
"version": "3.32.7"
"commit": "20f82749394e68bcfbbeee96bad384abaae09c13",
"version": "3.35.1"
}
}
+5 -5
View File
@@ -1,26 +1,26 @@
{
"flutter": {
"channel": "stable",
"commit": "d7b523b356d15fb81e7d340bbe52b47f93937323",
"version": "3.32.7"
"commit": "20f82749394e68bcfbbeee96bad384abaae09c13",
"version": "3.35.1"
},
"android": {
"platforms": [
{
"version": 35
"version": 36
}
],
"gradle": {
"version": "8.12"
},
"buildTools": {
"version": "34.0.0"
"version": "35.0.0"
},
"cmdlineTools": {
"version": "19.0"
},
"ndk": {
"version": "26.3.11579264"
"version": "27.0.12077973"
},
"cmake": {
"version": "3.22.1"
+23 -442
View File
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"cross-env": "^7.0.3",
"cross-env": "^10.0.0",
"mdx-to-md": "^0.5.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
@@ -29,6 +29,12 @@
"node": ">=6.9.0"
}
},
"node_modules/@epic-web/invariant": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz",
"integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==",
"license": "MIT"
},
"node_modules/@esbuild-plugins/node-resolve": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/@esbuild-plugins/node-resolve/-/node-resolve-0.2.2.tgz",
@@ -44,431 +50,6 @@
"esbuild": "*"
}
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz",
"integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==",
"cpu": [
"ppc64"
],
"license": "MIT",
"optional": true,
"os": [
"aix"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz",
"integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==",
"cpu": [
"arm"
],
"license": "MIT",
"optional": true,
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz",
"integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz",
"integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz",
"integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/darwin-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz",
"integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz",
"integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz",
"integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz",
"integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==",
"cpu": [
"arm"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz",
"integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz",
"integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==",
"cpu": [
"ia32"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz",
"integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==",
"cpu": [
"loong64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz",
"integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==",
"cpu": [
"mips64el"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz",
"integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==",
"cpu": [
"ppc64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz",
"integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==",
"cpu": [
"riscv64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz",
"integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==",
"cpu": [
"s390x"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz",
"integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/netbsd-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz",
"integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"netbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/netbsd-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz",
"integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"netbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/openbsd-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz",
"integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"openbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/openbsd-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz",
"integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"openbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/sunos-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz",
"integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"sunos"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz",
"integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz",
"integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==",
"cpu": [
"ia32"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz",
"integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@fal-works/esbuild-plugin-global-externals": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz",
@@ -890,20 +471,20 @@
}
},
"node_modules/cross-env": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
"integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.0.0.tgz",
"integrity": "sha512-aU8qlEK/nHYtVuN4p7UQgAwVljzMg8hB4YK5ThRqD2l/ziSnryncPNn7bMLt5cFYsKVKBh8HqLqyCoTupEUu7Q==",
"license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.1"
"@epic-web/invariant": "^1.0.0",
"cross-spawn": "^7.0.6"
},
"bin": {
"cross-env": "src/bin/cross-env.js",
"cross-env-shell": "src/bin/cross-env-shell.js"
"cross-env": "dist/bin/cross-env.js",
"cross-env-shell": "dist/bin/cross-env-shell.js"
},
"engines": {
"node": ">=10.14",
"npm": ">=6",
"yarn": ">=1"
"node": ">=20"
}
},
"node_modules/cross-spawn": {
@@ -6455,24 +6036,24 @@
}
},
"node_modules/react": {
"version": "19.1.0",
"resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
"integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
"version": "19.1.1",
"resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
"integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
"version": "19.1.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
"integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
"version": "19.1.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz",
"integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==",
"license": "MIT",
"dependencies": {
"scheduler": "^0.26.0"
},
"peerDependencies": {
"react": "^19.1.0"
"react": "^19.1.1"
}
},
"node_modules/readdirp": {
+1 -1
View File
@@ -14,7 +14,7 @@
"author": "",
"license": "ISC",
"dependencies": {
"cross-env": "^7.0.3",
"cross-env": "^10.0.0",
"mdx-to-md": "^0.5.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
+15 -15
View File
@@ -23,7 +23,7 @@ The images includes the minimum tools to run Flutter and build apps. The version
## Features
* Installed Flutter SDK 3.32.7.
* Installed Flutter SDK 3.35.1.
* Analytics disabled by default, opt-in if `ENABLE_ANALYTICS` environment variable is passed when running the container.
* Rootless user `flutter:flutter`, with permissions to run on Github workflows and GitLab CI.
* Cached Fastlane gem 2.228.0.
@@ -32,23 +32,23 @@ The images includes the minimum tools to run Flutter and build apps. The version
Predownloaded SDKs and tools in Android:
* Licenses accepted
* Android SDK Platforms: 35
* Android NDK: 26.3.11579264
* Android SDK Platforms: 36
* Android NDK: 27.0.12077973
* Gradle: 8.12
## Running Containers
| Registry | flutter-android |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Docker Hub | [gmeligio/flutter-android:3.32.7](https://hub.docker.com/r/gmeligio/flutter-android) |
| GitHub Container Registry | [ghcr.io/gmeligio/flutter-android:3.32.7](https://github.com/gmeligio/flutter-docker-image/pkgs/container/flutter-android) |
| Quay | [quay.io/gmeligio/flutter-android:3.32.7](https://quay.io/repository/gmeligio/flutter-android) |
| Docker Hub | [gmeligio/flutter-android:3.35.1](https://hub.docker.com/r/gmeligio/flutter-android) |
| GitHub Container Registry | [ghcr.io/gmeligio/flutter-android:3.35.1](https://github.com/gmeligio/flutter-docker-image/pkgs/container/flutter-android) |
| Quay | [quay.io/gmeligio/flutter-android:3.35.1](https://quay.io/repository/gmeligio/flutter-android) |
On the terminal:
```bash
# From GitHub Container Registry
docker run --rm -it ghcr.io/gmeligio/flutter-android:3.32.7 bash
docker run --rm -it ghcr.io/gmeligio/flutter-android:3.35.1 bash
```
On a workflow in GitHub Actions:
@@ -58,7 +58,7 @@ jobs:
build:
runs-on: ubuntu-22.04
container:
image: ghcr.io/gmeligio/flutter-android:3.32.7
image: ghcr.io/gmeligio/flutter-android:3.35.1
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -70,7 +70,7 @@ On a `.gitlab-ci.yml` in GitLab CI:
```yaml
build:
image: ghcr.io/gmeligio/flutter-android:3.32.7
image: ghcr.io/gmeligio/flutter-android:3.35.1
script:
- flutter build apk
```
@@ -91,20 +91,20 @@ bundle exec fastlane
Every new tag on the flutter stable channel gets built. The tag is composed of the Flutter version used to build the image:
* Docker image: gmeligio/flutter-android:3.32.7
* Flutter version: 3.32.7
* Docker image: gmeligio/flutter-android:3.35.1
* Flutter version: 3.35.1
## Building Locally
The android.Dockerfile expects a few arguments:
* `flutter_version <string>`: The version of Flutter to use when building. Example: 3.32.7
* `android_build_tools_version <string>`: The version of the Android SDK Build Tools to install. Example: 34.0.0
* `android_platform_versions <list>`: The versions of the Android SDK Platforms to install, separated by spaces. Example: 35
* `flutter_version <string>`: The version of Flutter to use when building. Example: 3.35.1
* `android_build_tools_version <string>`: The version of the Android SDK Build Tools to install. Example: 35.0.0
* `android_platform_versions <list>`: The versions of the Android SDK Platforms to install, separated by spaces. Example: 36
```bash
# Android
docker build --target android --build-arg flutter_version=3.32.7 --build-arg fastlane_version=2.228.0 --build-arg android_build_tools_version=34.0.0 --build-arg android_platform_versions="35" -t android-test .
docker build --target android --build-arg flutter_version=3.35.1 --build-arg fastlane_version=2.228.0 --build-arg android_build_tools_version=35.0.0 --build-arg android_platform_versions="36" -t android-test .
```
## Roadmap
+3
View File
@@ -1 +1,4 @@
sdkmanager --list | grep 'build-tools' | awk '{print $1}' | grep -oP 'build-tools;\d+\.\d+\.\d+$' | tail -1
# Get 36.0.0 from `build-tools;36.0.0:build-tools`
curl -s https://raw.githubusercontent.com/flutter/flutter/refs/tags/3.35.1/engine/src/flutter/tools/android_sdk/packages.txt | grep 'build-tools' | awk -F'[;:]' '{print $2}'
+4 -3
View File
@@ -1,5 +1,4 @@
#!/usr/bin/env sh
# TODO: Update all versions used in android.yml from version.json, like NDK, CMake, etc.
# Path to the JSON and YAML files
@@ -12,6 +11,8 @@ android_cmdline_tools_version=$(cue eval -e 'android.cmdlineTools.version' "$ver
android_cmdline_tools_test_expected_content="Pkg.Revision=$android_cmdline_tools_version
Pkg.Path=cmdline-tools;$android_cmdline_tools_version
Pkg.Desc=Android SDK Command-line Tools"
android_ndk_version=$(cue eval -e 'android.ndk.version' "$version_file_path" | tr -d '"')
android_sdk_build_tools_version=$(cue eval -e 'android.buildTools.version' "$version_file_path" | tr -d '"')
# Check if the version value is not empty
if [ -z "$android_cmdline_tools_version" ]; then
@@ -21,8 +22,8 @@ fi
# Update the version YAML file using cue
cue export config/android.cue -l input: ./test/android.yml -t android_cmdline_tools_version="$android_cmdline_tools_version" -t android_cmdline_tools_test_expected_content="$android_cmdline_tools_test_expected_content" -e output --out yaml >"$temp_file_path"
cue export config/android.cue -l input: ./test/android.yml -t android_cmdline_tools_version="$android_cmdline_tools_version" -t android_cmdline_tools_test_expected_content="$android_cmdline_tools_test_expected_content" -t android_ndk_version="$android_ndk_version" -t android_sdk_build_tools_version="$android_sdk_build_tools_version" -e output --out yaml >"$temp_file_path"
mv "$temp_file_path" "$test_file_path"
# Write progress
echo "Updated $test_file_path with android_cmdline_tools_version: $android_cmdline_tools_version"
echo "Updated $test_file_path with android_cmdline_tools_version=$android_cmdline_tools_version, android_ndk_version=$android_ndk_version"
+2 -2
View File
@@ -24,13 +24,13 @@ commandTests:
args:
- /home/flutter/sdks/android-sdk/build-tools
expectedOutput:
- 34.0.0
- 35.0.0
- name: Android NDK is pinned
command: ls
args:
- /home/flutter/sdks/android-sdk/ndk
expectedOutput:
- 26.3.11579264
- 27.0.12077973
- name: CMake is pinned
command: ls
args: