Compare commits

...
72 Commits
Author SHA1 Message Date
budtmo 28478f3bce Updated base image 2026-06-24 03:52:39 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a043822b04 [github-action] Bump actions/checkout from 6 to 7 (#594)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [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/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  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>
2026-06-24 03:25:50 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d173cf2ffa [pip] Bump pytest from 9.1.0 to 9.1.1 (#595)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to 9.1.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.1.0...9.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.1.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>
2026-06-24 03:25:25 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
71da27e6ad [pip] Bump coverage from 7.14.1 to 7.14.3 (#597)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.14.1 to 7.14.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.14.1...7.14.3)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.14.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-06-24 03:25:03 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2012d5e77d [pip] Bump pytest from 9.0.3 to 9.1.0 (#593)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.3 to 9.1.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/9.0.3...9.1.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.1.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>
2026-06-18 12:46:28 +02:00
budi 34656ff759 Updated novnc to version 1.7.0 2026-05-29 15:21:57 +02:00
budi 405b0b7308 Updated Appium base image 2026-05-29 15:12:19 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c66f55462c [pip] Bump coverage from 7.14.0 to 7.14.1 (#591)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.14.0 to 7.14.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.14.0...7.14.1)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.14.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>
2026-05-29 07:19:03 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7be06eefef [pip] Bump click from 8.3.3 to 8.4.1 (#590)
Bumps [click](https://github.com/pallets/click) from 8.3.3 to 8.4.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.3...8.4.1)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.4.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-05-26 07:24:57 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2ddfba647d [pip] Bump requests from 2.33.1 to 2.34.2 (#588)
Bumps [requests](https://github.com/psf/requests) from 2.33.1 to 2.34.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.33.1...v2.34.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.34.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-05-15 06:58:33 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
49540d74fb [pip] Bump coverage from 7.13.5 to 7.14.0 (#585)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.13.5 to 7.14.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.13.5...7.14.0)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.14.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>
2026-05-11 11:00:12 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ef717fc8a5 [pip] Bump click from 8.3.2 to 8.3.3 (#583)
Bumps [click](https://github.com/pallets/click) from 8.3.2 to 8.3.3.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/8.3.3/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.3.2...8.3.3)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.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-04-23 15:49:38 +02:00
budi a31c2f0301 Updated base image 2026-04-21 13:05:43 +02:00
budi ca2b83faa0 Added pixel phones 2026-04-13 12:55:24 +02:00
budi ed48e174f6 Updated dependabot 2026-04-13 12:55:24 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9b6a033133 [pip] Bump pytest from 9.0.2 to 9.0.3 (#582)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.
- [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.2...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.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-04-13 00:38:48 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1ea2c74b18 [pip] Bump click from 8.3.1 to 8.3.2 (#581)
Bumps [click](https://github.com/pallets/click) from 8.3.1 to 8.3.2.
- [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.1...8.3.2)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.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-04-07 14:10:30 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c2e376c6f7 [pip] Bump requests from 2.32.5 to 2.33.1 (#579)
Bumps [requests](https://github.com/psf/requests) from 2.32.5 to 2.33.1.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.5...v2.33.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.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-03-31 16:59:33 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b21d26e151 [pip] Bump pytest-cov from 7.0.0 to 7.1.0 (#576)
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 7.0.0 to 7.1.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-version: 7.1.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>
2026-03-31 16:58:51 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
971300eef3 [pip] Bump coverage from 7.13.4 to 7.13.5 (#575)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.13.4 to 7.13.5.
- [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.4...7.13.5)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.13.5
  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-03-31 16:58:08 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c8efeea3b3 [pip] Bump setuptools from 82.0.0 to 82.0.1 (#574)
Bumps [setuptools](https://github.com/pypa/setuptools) from 82.0.0 to 82.0.1.
- [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/v82.0.0...v82.0.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 82.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>
2026-03-31 16:57:44 +02:00
budi 4fe7dfdd39 Updated base image 2026-03-19 15:42:46 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c86a077767 [github-action] Bump docker/setup-buildx-action from 3 to 4 (#572)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  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>
2026-03-06 10:41:12 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d4d79d2b7a [pip] Bump coverage from 7.13.3 to 7.13.4 (#571)
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.13.3 to 7.13.4.
- [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.3...7.13.4)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.13.4
  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-10 08:13:05 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1326fc493f [pip] Bump setuptools from 80.10.2 to 82.0.0 (#570)
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.10.2 to 82.0.0.
- [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.10.2...v82.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 82.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>
2026-02-10 08:12:46 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 FabbianandGitHub 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Budi Utomo
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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
budi 5c6b28b530 Updated base image 2025-10-10 10:52:37 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f847fbb4db [pip] Bump click from 8.2.1 to 8.3.0 (#543)
Bumps [click](https://github.com/pallets/click) from 8.2.1 to 8.3.0.
- [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.2.1...8.3.0)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.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-08 09:13:42 +02:00
budi 564a1491ff Updated base images 2025-10-03 07:08:52 +02:00
Dave GolombekandGitHub a89d4679be Bump GMSAAS version to 1.15.0 (#540)
### Description

Gmsaas had a major update in 1.15.0 which addresses adb connection
issues (OpenSSL 3 is now used for ADB Tunnel instead of OpenSSL 1.1.1).
2025-09-24 08:58:52 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9290e90e3c [pip] Bump coverage from 7.10.6 to 7.10.7 (#538)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.6 to 7.10.7.
- [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.6...7.10.7)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.7
  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-09-22 15:57:07 +02:00
budi 136b49fab8 Updated base image 2025-09-17 10:54:41 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c5651e78f9 [pip] Bump pytest-cov from 6.3.0 to 7.0.0 (#536)
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 6.3.0 to 7.0.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v6.3.0...v7.0.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-version: 7.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-09-10 08:17:58 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Budi Utomo
76ae526591 [pip] Bump pytest from 8.4.1 to 8.4.2 (#533)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.1 to 8.4.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/8.4.1...8.4.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 8.4.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>
Co-authored-by: Budi Utomo <budtmo.os@gmail.com>
2025-09-08 10:26:31 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
46805d6a81 [pip] Bump pytest-cov from 6.2.1 to 6.3.0 (#534)
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 6.2.1 to 6.3.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v6.2.1...v6.3.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-version: 6.3.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-09-08 10:24:52 +02:00
budi 6302de6bc4 Updated base image 2025-09-03 13:55:28 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1e1c60fc89 [pip] Bump coverage from 7.10.5 to 7.10.6 (#532)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.5 to 7.10.6.
- [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.5...7.10.6)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.6
  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-09-01 11:47:29 +02:00
Juan Pedro Bretti MandaranoandGitHub 2a12e66077 Fix typo in WSL configuration file name (#531)
There is no documentation that file `/etc/wsl2.conf` does exist.
According to Microsoft documentation, it is called `/etc/wsl.conf`. 

See https://learn.microsoft.com/en-us/windows/wsl/wsl-config for reference.
2025-09-01 11:47:09 +02:00
budi f2a418d712 Updated base image 2025-08-28 11:25:11 +02:00
budi 44dcc5b166 Updated novnc and websockify 2025-08-25 15:42:55 +02:00
budi 2e88c06124 Updated base image 2025-08-25 15:42:20 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6b34c74a25 [pip] Bump coverage from 7.10.4 to 7.10.5 (#530)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.4 to 7.10.5.
- [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.4...7.10.5)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.5
  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-08-25 02:06:36 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1fc2c74d8c [pip] Bump requests from 2.32.3 to 2.32.5 (#528)
Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.5.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.5)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.5
  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-08-20 08:21:10 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ffbafe87e8 [github-action] Bump actions/checkout from 4 to 5 (#523)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  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-08-19 10:53:54 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
62fa6a05c8 [pip] Bump coverage from 7.10.3 to 7.10.4 (#527)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.3 to 7.10.4.
- [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.3...7.10.4)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.4
  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-08-19 10:42:11 +02:00
lilinorandGitHub 77542f5b45 Start and stop SaaS devices in parallel (#524) 2025-08-19 09:57:05 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
39df955c26 [pip] Bump coverage from 7.10.2 to 7.10.3 (#522)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.2 to 7.10.3.
- [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.2...7.10.3)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.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-08-13 06:13:47 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8da596a8f1 [pip] Bump coverage from 7.10.1 to 7.10.2 (#521)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.1 to 7.10.2.
- [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.1...7.10.2)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.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-08-10 10:20:17 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7f55b248fd [pip] Bump coverage from 7.10.0 to 7.10.1 (#520)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.0 to 7.10.1.
- [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.0...7.10.1)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.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-08-01 00:46:37 +02:00
budi c434ae7770 Updated base image 2025-07-31 19:04:33 +02:00
budi ff9f9268e3 Updated docu 2025-07-28 12:49:43 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
27e95cd197 [pip] Bump coverage from 7.9.2 to 7.10.0 (#519)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.9.2 to 7.10.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.9.2...7.10.0)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.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-07-25 09:39:58 +02:00
budi 1f1224599e Modified github action build 2025-07-04 10:09:16 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
846cd2ed09 [pip] Bump coverage from 7.8.1 to 7.9.2 (#516)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.8.1 to 7.9.2.
- [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.8.1...7.9.2)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.9.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>
2025-07-04 08:54:21 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b5fbe9777e [pip] Bump pytest-xdist from 3.7.0 to 3.8.0 (#515)
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/pytest-dev/pytest-xdist/releases)
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.7.0...v3.8.0)

---
updated-dependencies:
- dependency-name: pytest-xdist
  dependency-version: 3.8.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-07-02 08:27:44 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
21ffb20ca6 [pip] Bump setuptools from 80.8.0 to 80.9.0 (#513)
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.8.0 to 80.9.0.
- [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.8.0...v80.9.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.9.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-06-30 17:00:40 +02:00
14 changed files with 211 additions and 95 deletions
+9
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
+24 -15
View File
@@ -9,20 +9,10 @@ updates:
commit-message:
prefix: "[docker] "
target-branch: "master"
open-pull-requests-limit: 99
reviewers:
- "budtmo"
- package-ecosystem: pip
directory: "/"
schedule:
interval: daily
time: '01:00'
timezone: "Europe/Berlin"
commit-message:
prefix: "[pip] "
target-branch: "master"
open-pull-requests-limit: 99
open-pull-requests-limit: 10
labels:
- "dependabot"
- "docker"
reviewers:
- "budtmo"
@@ -35,6 +25,25 @@ updates:
commit-message:
prefix: "[github-action] "
target-branch: "master"
open-pull-requests-limit: 99
open-pull-requests-limit: 10
labels:
- "dependabot"
- "github-action"
reviewers:
- "budtmo"
- package-ecosystem: pip
directory: "/"
schedule:
interval: daily
time: '01:00'
timezone: "Europe/Berlin"
commit-message:
prefix: "[pip] "
target-branch: "master"
open-pull-requests-limit: 10
labels:
- "dependabot"
- "pip"
reviewers:
- "budtmo"
+6 -6
View File
@@ -13,7 +13,7 @@ jobs:
python-version: ["3.8"]
steps:
- name: Checkout the repo
uses: actions/checkout@v4
uses: actions/checkout@v7
- 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@v4
uses: actions/checkout@v7
- name: Get release version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@@ -42,10 +42,10 @@ jobs:
android: ["9.0", "10.0", "11.0", "12.0", "13.0", "14.0"]
steps:
- name: Checkout the repo
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Get release version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@@ -67,10 +67,10 @@ jobs:
needs: release_base
steps:
- name: Checkout the repo
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Get release version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
+32
View File
@@ -0,0 +1,32 @@
name: Run Test on Demand
on:
workflow_dispatch:
jobs:
build_and_test:
runs-on: ubuntu-24.04
steps:
- name: Checkout the repo
uses: actions/checkout@v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Set up extension
run: |
echo "${{ secrets.extension }}" > extension.sh
chmod 700 extension.sh
shell: bash
- name: Build base image
run: script -e -c "./app.sh build base test"
- name: Build sample image
run: script -e -c "./app.sh build emulator test 11.0"
- name: Run unit-test
run: script -e -c "./app.sh test emulator test 11.0 && sudo mv tmp/* ."
- name: Publish test result
run: bash <(curl -s https://codecov.io/bash)
+3 -5
View File
@@ -4,19 +4,17 @@ on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build_and_test:
runs-on: ubuntu-24.04
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.actor == 'budtmo'
steps:
- name: Checkout the repo
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Set up extension
run: |
+9 -3
View File
@@ -96,15 +96,19 @@ Credit goes to [Guillaume - The Parallel Interface blog](https://www.paralint.co
sudo usermod -a -G kvm ${USER}
```
2. Add necessary flags to `/etc/wsl2.conf` to their respective sections.
2. Add necessary flags to `/etc/wsl.conf` to their respective sections.
```
[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
---------
@@ -163,7 +169,7 @@ The differences between normal version and pro version are:
|user-behavior-analytics|Yes|No|-|
|proxy|No|Yes|Set up company proxy on Android emulator on fly|
|language|No|Yes|Set up language on Android emulator on fly|
|Newer Android version|No|Yes|Support other newer Android version e.g. Android 15, etc|
|Newer Android version|No|Yes|Support other newer Android version e.g. Android 15, Android 16, etc|
|root-privileged|No|Yes|Able to run command with security privileged|
|headless-mode|No|Yes|Save resources by using headless mode|
|Selenium 4.x integration|No|Yes|Running Appium UI-Tests againt one (Selenium Hub) endpoint for Android- and iOS emulator(s) / device(s)|
+7 -7
View File
@@ -1,9 +1,9 @@
autopep8==2.3.2
click==8.2.1
coverage==7.8.1
click==8.4.1
coverage==7.14.3
mock==5.2.0
pytest==8.4.1
pytest-cov==6.2.1
pytest-xdist==3.7.0
requests==2.32.3
setuptools==80.8.0
pytest==9.1.1
pytest-cov==7.1.0
pytest-xdist==3.8.0
requests==2.34.2
setuptools==82.0.1
+1 -1
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()
+5 -2
View File
@@ -23,7 +23,9 @@ class Emulator(Device):
"Samsung Galaxy S8",
"Samsung Galaxy S9",
"Samsung Galaxy S10",
"Pixel C"
"Pixel C",
"Pixel 8",
"Pixel 9"
)
API_LEVEL = {
@@ -151,7 +153,8 @@ class Emulator(Device):
creation_cmd = "avdmanager create avd -f -n {n} -b {it}/{si} " \
"-k 'system-images;android-{al};{it};{si}' " \
"-d {d} -p {pe}".format(n=self.name, it=self.img_type, si=self.sys_img,
al=self.api_level, d=self.device.replace(" ", "\ "),
al=self.api_level,
d=self.device.lower().replace(" ", "_") if "pixel" in self.device.lower() else self.device.replace(" ", "\ "),
pe=self.path_emulator)
self.logger.info(f"Command to create emulator: '{creation_cmd}'")
subprocess.check_call(creation_cmd, shell=True)
+89 -28
View File
@@ -1,19 +1,20 @@
import logging
import os
import subprocess
import concurrent.futures
import uuid
from device import Genymotion, DeviceType
from helper import get_env_value_or_raise
from constants import ENV, UTF8
class GenySAAS(Genymotion):
def __init__(self) -> None:
super().__init__()
self.logger = logging.getLogger(self.__class__.__name__)
self.device_type = DeviceType.GENY_SAAS.value
self.created_devices = []
def login(self) -> None:
if os.getenv(ENV.GENY_AUTH_TOKEN):
auth_token = get_env_value_or_raise(ENV.GENY_AUTH_TOKEN)
@@ -23,14 +24,16 @@ class GenySAAS(Genymotion):
password = get_env_value_or_raise(ENV.GENY_SAAS_PASS)
subprocess.check_call(f"gmsaas auth login {user} {password} > /dev/null 2>&1", shell=True)
self.logger.info("successfully logged in!")
def create(self) -> None:
super().create()
# Collect all items first
items = []
for item in self.get_data_from_template(ENV.GENY_SAAS_TEMPLATE_FILE_NAME):
name = ""
template = ""
local_port = ""
# implement like this because local_port param is not a must
for k, v in item.items():
if k.lower() == "name":
@@ -41,40 +44,98 @@ class GenySAAS(Genymotion):
local_port = v
else:
self.logger.warning(f"'{k}' is not supported! Please check the documentation!")
if not name:
import uuid
name = str(uuid.uuid4())
if not template:
self.shutdown_and_logout()
raise RuntimeError(f"'template' is a must parameter and not given!")
else:
self.logger.info(f"name: {name}, template: {template}")
creation_cmd = f"gmsaas instances start {template} {name}"
try:
instance_id = subprocess.check_output(creation_cmd.split()).decode(UTF8).replace("\n", "")
created_device = {f"{name}": {instance_id}}
self.created_devices.append(created_device)
additional_args = ""
if local_port:
additional_args = f"--adb-serial-port {local_port}"
connect_cmd = f"gmsaas instances adbconnect {instance_id} {additional_args}"
subprocess.check_call(f"{connect_cmd}", shell=True)
except Exception as e:
self.shutdown_and_logout()
self.logger.error(e)
exit(1)
items.append({
'name': name,
'template': template,
'local_port': local_port
})
# Start all devices in parallel
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
try:
# Submit all tasks
future_to_item = {executor.submit(self.create_instance, item): item for item in items}
# Collect results as they complete
for future in concurrent.futures.as_completed(future_to_item):
item = future_to_item[future]
try:
created_device = future.result()
self.created_devices.append(created_device)
self.logger.info(f"Successfully created device: {created_device}")
except Exception as e:
self.logger.error(f"Instance creation failed for {item['name']}: {e}")
self.shutdown_and_logout()
exit(1)
except Exception as e:
self.shutdown_and_logout()
self.logger.error(f"Parallel execution failed: {e}")
exit(1)
def create_instance(self, item_data):
"""Create a single instance and return the result"""
name = item_data['name']
template = item_data['template']
local_port = item_data['local_port']
self.logger.info(f"name: {name}, template: {template}")
creation_cmd = f"gmsaas instances start {template} {name}"
try:
instance_id = subprocess.check_output(creation_cmd.split()).decode(UTF8).replace("\n", "")
# Connect to ADB
additional_args = ""
if local_port:
additional_args = f"--adb-serial-port {local_port}"
connect_cmd = f"gmsaas instances adbconnect {instance_id} {additional_args}"
subprocess.check_call(f"{connect_cmd}", shell=True)
return {f"{name}": instance_id}
except Exception as e:
self.logger.error(f"Failed to create instance {name}: {e}")
raise e
def stop_instance(self, device_info):
"""Stop a single instance"""
for name, instance_id in device_info.items():
try:
subprocess.check_call(f"gmsaas instances stop {instance_id}", shell=True)
self.logger.info(f"device '{name}' is successfully removed!")
return True
except Exception as e:
self.logger.error(f"Failed to stop device '{name}': {e}")
return False
def shutdown_and_logout(self) -> None:
if bool(self.created_devices):
self.logger.info("Created device(s) will be removed!")
for d in self.created_devices:
for n, i in d.items():
subprocess.check_call(f"gmsaas instances stop {i}", shell=True)
self.logger.info(f"device '{n}' is successfully removed!")
# Stop all devices in parallel
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
# Submit all stop tasks
futures = [executor.submit(self.stop_instance, device) for device in self.created_devices]
# Wait for all to complete
for future in concurrent.futures.as_completed(futures):
try:
future.result()
except Exception as e:
self.logger.error(f"Error during device shutdown: {e}")
# Logout after all devices are stopped
if os.getenv(ENV.GENY_AUTH_TOKEN):
subprocess.check_call("gmsaas auth reset", shell=True)
else:
subprocess.check_call("gmsaas auth logout", shell=True)
self.logger.info("successfully logged out!")
self.logger.info("successfully logged out!")
+15 -12
View File
@@ -1,4 +1,4 @@
FROM appium/appium:v2.19.0-p0
FROM appium/appium:v3.5.2-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
+6 -12
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 \
@@ -50,8 +44,8 @@ RUN apt-get -qqy update && apt-get -qqy install --no-install-recommends \
#=======
# noVNC
#=======
ENV NOVNC_VERSION="1.4.0" \
WEBSOCKIFY_VERSION="0.11.0" \
ENV NOVNC_VERSION="1.7.0" \
WEBSOCKIFY_VERSION="0.13.0" \
OPT_PATH="/opt"
RUN wget -nv -O noVNC.zip "https://github.com/novnc/noVNC/archive/refs/tags/v${NOVNC_VERSION}.zip" \
&& unzip -x noVNC.zip \
@@ -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"]
+3 -4
View File
@@ -1,7 +1,7 @@
ARG DOCKER_ANDROID_VERSION
FROM budtmo/docker-android:base_${DOCKER_ANDROID_VERSION}
ENV GMSAAS_CLI_VERSION="1.14.1"
ENV GMSAAS_CLI_VERSION="1.15.0"
#================
# Cloud Packages
@@ -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"]
+2
View File
@@ -29,6 +29,7 @@ List of Docker-Images
|13.0|33|Normal|budtmo2/docker-android-pro:emulator_13.0|budtmo2/docker-android-pro:emulator_13.0_<release_version>|
|14.0|34|Normal|budtmo2/docker-android-pro:emulator_14.0|budtmo2/docker-android-pro:emulator_14.0_<release_version>|
|15.0|35|Normal|budtmo2/docker-android-pro:emulator_15.0|budtmo2/docker-android-pro:emulator_15.0_<release_version>|
|16.0|36|Normal|budtmo2/docker-android-pro:emulator_16.0|budtmo2/docker-android-pro:emulator_16.0_<release_version>|
|9.0|28|Headless|budtmo2/docker-android-pro:emulator_headless_9.0|budtmo2/docker-android-pro:emulator_headless_9.0_<release_version>|
|10.0|29|Headless|budtmo2/docker-android-pro:emulator_headless_10.0|budtmo2/docker-android-pro:emulator_headless_10.0_<release_version>|
|11.0|30|Headless|budtmo2/docker-android-pro:emulator_headless_11.0|budtmo2/docker-android-pro:emulator_headless_11.0_<release_version>|
@@ -36,6 +37,7 @@ List of Docker-Images
|13.0|33|Headless|budtmo2/docker-android-pro:emulator_headless_13.0|budtmo2/docker-android-pro:emulator_headless_13.0_<release_version>|
|14.0|34|Headless|budtmo2/docker-android-pro:emulator_headless_14.0|budtmo2/docker-android-pro:emulator_headless_14.0_<release_version>|
|15.0|35|Headless|budtmo2/docker-android-pro:emulator_headless_15.0|budtmo2/docker-android-pro:emulator_headless_15.0_<release_version>|
|16.0|36|Headless|budtmo2/docker-android-pro:emulator_headless_16.0|budtmo2/docker-android-pro:emulator_headless_16.0_<release_version>|
|-|-|Selenium|budtmo2/docker-android-pro:selenium|budtmo2/docker-android-pro:selenium_<release_version>|
***Note: Headless mode does not have any Web-UI***