Compare commits

...

17 Commits

Author SHA1 Message Date
dependabot[bot]
a28137f92f
[pip] Bump coverage from 7.13.2 to 7.13.3 (#568)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.13.2 to 7.13.3.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.13.2...7.13.3)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.13.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-04 10:16:38 +01:00
Luca Fabbian
a46dcf1825
Update README with updated WSL2 nested virtualization setup (#567)
Updated instructions for configuring WSL2 on newer versions.
2026-02-02 09:11:07 +01:00
budi
4459fffdb2 Added user permission for kvm usage 2026-01-29 15:18:07 +01:00
dependabot[bot]
c47e5efdad
[pip] Bump coverage from 7.13.1 to 7.13.2 (#565)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.13.1 to 7.13.2.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.13.1...7.13.2)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 14:47:20 +01:00
dependabot[bot]
149e55b52d
[pip] Bump setuptools from 80.9.0 to 80.10.2 (#564)
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.9.0 to 80.10.2.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.9.0...v80.10.2)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.10.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 14:47:01 +01:00
budi
f5e57eecef Updated base image 2026-01-29 14:45:24 +01:00
budi
621d37d7d1 Updated .dockerignore 2026-01-26 15:12:58 +01:00
dependabot[bot]
66fab80a5b
[pip] Bump coverage from 7.12.0 to 7.13.1 (#561)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.12.0 to 7.13.1.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.1)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-07 16:53:28 +01:00
dependabot[bot]
97bd5ae254
[pip] Bump pytest from 9.0.1 to 9.0.2 (#557)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.1 to 9.0.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.1...9.0.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 10:50:41 +01:00
dependabot[bot]
b69020fc03
[github-action] Bump actions/checkout from 5 to 6 (#556)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 09:11:58 +01:00
dependabot[bot]
04da87e3e4
[pip] Bump coverage from 7.11.3 to 7.12.0 (#555)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.11.3 to 7.12.0.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.11.3...7.12.0)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Budi Utomo <budtmo.os@gmail.com>
2025-11-19 08:38:42 +01:00
dependabot[bot]
80134ce080
[pip] Bump click from 8.3.0 to 8.3.1 (#554)
Bumps [click](https://github.com/pallets/click) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.3.0...8.3.1)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 08:37:32 +01:00
dependabot[bot]
fbfe4a08d7
[pip] Bump pytest from 9.0.0 to 9.0.1 (#553)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.0...9.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 08:59:00 +01:00
budi
d03f14dadf Updated base image 2025-11-14 09:38:00 +01:00
dependabot[bot]
4b64e87ab2
[pip] Bump pytest from 8.4.2 to 9.0.0 (#550)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.2 to 9.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-13 08:20:33 +01:00
dependabot[bot]
8f4b541d49
[pip] Bump coverage from 7.11.0 to 7.11.3 (#549)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.11.0 to 7.11.3.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/commits)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.11.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-13 08:20:13 +01:00
dependabot[bot]
71f3fe64d6
[pip] Bump coverage from 7.10.7 to 7.11.0 (#544)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.7 to 7.11.0.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.10.7...7.11.0)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17 04:59:55 +02:00
10 changed files with 48 additions and 37 deletions

View File

@ -1,5 +1,7 @@
# Git
.git/
.github
.gitignore
# IDE
**/*.idea
@ -17,3 +19,10 @@ backup
**/xunit.xml
**/coverage
tmp/
docker
documentations
example
images
*.md
*.sh

View File

@ -13,7 +13,7 @@ jobs:
python-version: ["3.8"]
steps:
- name: Checkout the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Run unit-test
run: script -e -c "./app.sh test emulator test 11.0 && sudo mv tmp/* ."
@ -23,7 +23,7 @@ jobs:
needs: run_test
steps:
- name: Checkout the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Get release version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@ -42,7 +42,7 @@ jobs:
android: ["9.0", "10.0", "11.0", "12.0", "13.0", "14.0"]
steps:
- name: Checkout the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@ -67,7 +67,7 @@ jobs:
needs: release_base
steps:
- name: Checkout the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

View File

@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

View File

@ -11,7 +11,7 @@ jobs:
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.actor == 'budtmo'
steps:
- name: Checkout the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

View File

@ -100,11 +100,15 @@ Credit goes to [Guillaume - The Parallel Interface blog](https://www.paralint.co
```
[boot]
command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'
```
Then, using PowerShell, open a notepad on `notepad $env:USERPROFILE\.wslconfig`. Inside, put these other flags:
```
[wsl2]
nestedVirtualization=true
```
3. Restart WSL2 via CMD prompt or Powershell
4. Restart WSL2 via CMD prompt or Powershell
```
wsl --shutdown
```
@ -114,6 +118,8 @@ Credit goes to [Guillaume - The Parallel Interface blog](https://www.paralint.co
`nestedVirtualization` flag is only available to Windows 11.
If this setup does not work, you may have an old WSL version. In that case, ignore `\.wslconfig` and put everything on `/etc/wsl.conf`, including the `[wsl2]` flag.
Use-Cases
---------

View File

@ -1,9 +1,9 @@
autopep8==2.3.2
click==8.3.0
coverage==7.10.7
click==8.3.1
coverage==7.13.3
mock==5.2.0
pytest==8.4.2
pytest==9.0.2
pytest-cov==7.0.0
pytest-xdist==3.8.0
requests==2.32.5
setuptools==80.9.0
setuptools==80.10.2

View File

@ -60,7 +60,7 @@ def cli():
def start_appium() -> None:
if convert_str_to_bool(os.getenv(ENV.APPIUM)):
cmd = f"/usr/bin/appium"
cmd = f"/usr/local/bin/appium"
app_appium = Application("Appium", cmd,
os.getenv(ENV.APPIUM_ADDITIONAL_ARGS, ""), False)
app_appium.start()

View File

@ -1,4 +1,4 @@
FROM appium/appium:v3.1.0-p0
FROM appium/appium:v3.2.0-p0
ARG AUTHORS="Budi Utomo"
LABEL author="${AUTHORS} <budtmo.os@gmail.com>"
@ -8,27 +8,30 @@ USER root
#================
# Basic Packages
#----------------
# ca-certificates
# SSL client
# python3-pip
# python-pip
# socat
# Port forwarder
# supervisor
# Process manager
# unzip
# Unzip zip file
# wget
# Network downloader
#================
RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
ca-certificates \
python3-pip \
socat \
supervisor \
unzip \
wget \
&& apt autoremove -y \
&& apt clean all \
&& rm -rf /var/lib/apt/lists/*
#==================
# Configure Python
#==================
RUN apt-get -qqy update && \
apt-get -qqy --no-install-recommends install \
python3-pip \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
&& rm -rf /var/lib/apt/lists/* \
&& update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
#=====================
# Set release version

View File

@ -11,7 +11,7 @@ ENV EMULATOR_ANDROID_VERSION=${EMULATOR_ANDROID_VERSION} \
EMULATOR_SYS_IMG=x86_64 \
EMULATOR_IMG_TYPE=google_apis \
EMULATOR_BROWSER=chrome
ENV PATH ${PATH}:${ANDROID_HOME}/build-tools
ENV PATH=${PATH}:${ANDROID_HOME}/build-tools
RUN yes | sdkmanager --licenses \
&& sdkmanager "platforms;android-${EMULATOR_API_LEVEL}" \
"system-images;android-${EMULATOR_API_LEVEL};${EMULATOR_IMG_TYPE};${EMULATOR_SYS_IMG}" "emulator" \
@ -20,14 +20,10 @@ RUN yes | sdkmanager --licenses \
#=============
# UI Packages
#-------------
# ffmpeg
# Video recorder
# feh
# Screen background
# libxcomposite-dev
# Window System for Emulator
# menu
# Debian menu
# openbox
# Windows manager
# x11vnc
@ -36,10 +32,8 @@ RUN yes | sdkmanager --licenses \
# Terminal emulator
#==================
RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
ffmpeg \
feh \
libxcomposite-dev \
menu \
openbox \
x11vnc \
xterm \
@ -78,13 +72,13 @@ EXPOSE 5900 6080
#==========
RUN rm -rf ${SCRIPT_PATH}
ENV SCRIPT_PATH="docker-android"
ENV WORK_PATH="/home/androidusr"
ENV APP_PATH=${WORK_PATH}/${SCRIPT_PATH}
RUN mkdir -p ${APP_PATH}
COPY mixins ${APP_PATH}/mixins
COPY cli ${APP_PATH}/cli
RUN --mount=type=secret,id=extension,dst=/tmp/extension.sh \
bash /tmp/extension.sh
RUN echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
#===================
# Configure OpenBox
@ -94,7 +88,7 @@ RUN echo ${APP_PATH}/mixins/configs/display/.fehbg >> /etc/xdg/openbox/autostart
#==================
# Use created user
#==================
USER 1300:1301
USER ${USERID}:${GROUPID}
ENV LOG_PATH=${WORK_PATH}/logs \
WEB_LOG_PORT=9000
EXPOSE 9000
@ -107,4 +101,4 @@ RUN mkdir -p "${WORK_PATH}/.config/Android Open Source Project" \
#=========
STOPSIGNAL SIGTERM
ENV DEVICE_TYPE=emulator
ENTRYPOINT ["/home/androidusr/docker-android/mixins/scripts/run.sh"]
CMD ["${APP_PATH}/mixins/scripts/run.sh"]

View File

@ -30,7 +30,6 @@ RUN wget -nv -O terraform.zip "https://releases.hashicorp.com/terraform/${TERRAF
#==========
RUN rm -rf ${SCRIPT_PATH}
ENV SCRIPT_PATH="docker-android"
ENV WORK_PATH="/home/androidusr"
ENV APP_PATH=${WORK_PATH}/${SCRIPT_PATH}
RUN mkdir -p ${APP_PATH}
COPY mixins ${APP_PATH}/mixins
@ -47,7 +46,7 @@ RUN mkdir -p ${GENYMOTION_TEMPLATE_PATH}
#==================
# Use created user
#==================
USER 1300:1301
USER ${USERID}:${GROUPID}
ENV LOG_PATH=${WORK_PATH}/logs \
WEB_LOG_PORT=9000
EXPOSE 9000
@ -58,4 +57,4 @@ RUN mkdir -p ${LOG_PATH}
#=========
STOPSIGNAL SIGTERM
RUN gmsaas config set android-sdk-path ${ANDROID_HOME}
ENTRYPOINT ["/home/androidusr/docker-android/mixins/scripts/run.sh"]
CMD ["${APP_PATH}/mixins/scripts/run.sh"]