From d8a171886747b52be97e65a68d77a78a6286feea Mon Sep 17 00:00:00 2001 From: kartikey1306 Date: Wed, 7 Oct 2026 23:42:11 +0530 Subject: [PATCH 1/2] =?UTF-8?q?ci(eosim):=20install=20EoSim=20through=20th?= =?UTF-8?q?e=20org's=20pinned=20install-eosim=20action=20=E2=80=94=20Close?= =?UTF-8?q?s=20#148,=20refs=20embeddedos-org/ebuild#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Linux jobs nested-simulation and nested-guest-install replace their hand-written clone and pip install with embeddedos-org/.github/.github/actions/install-eosim@master, still pinned by the one EOSIM_VERSION (3.0.2). The action validates the tag, fails closed on an unknown one and checks the installed version. The cross-OS install matrix and the Windows and macOS jobs keep the direct clone: the action's resolve step runs python3, which setup-python does not guarantee on Windows (same split as eApps#49). --- .github/workflows/eosim-sanity.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/eosim-sanity.yml b/.github/workflows/eosim-sanity.yml index 4ca215e..54ecc40 100644 --- a/.github/workflows/eosim-sanity.yml +++ b/.github/workflows/eosim-sanity.yml @@ -98,12 +98,9 @@ jobs: with: python-version: "3.12" - name: Install EoSim - run: | - # Install from a git checkout: no release ships a wheel. - git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} \ - https://github.com/embeddedos-org/EoSim.git /tmp/EoSim - pip install /tmp/EoSim - # (platforms ship in-package since v3.0.2; no copy needed) + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Simulate ${{ matrix.platform }} # Two honest contracts, by engine (EoSim 4db3434a fixed #38): # - native engine: `eosim run` without --firmware exits 2 with @@ -155,9 +152,9 @@ jobs: with: python-version: "3.12" - name: Install EoSim - run: | - git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} https://github.com/embeddedos-org/EoSim.git /tmp/EoSim && pip install /tmp/EoSim - # (platforms ship in-package since v3.0.2; no copy needed) + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Boot guest and test EoSim inside # Same engine contracts as nested-simulation (see above). # The x86_64 guest is a qemu-engine platform: assert the From f0fa0f9bcfbbdafa91011e4c8cd89ede1a2c8a49 Mon Sep 17 00:00:00 2001 From: kartikey1306 Date: Thu, 8 Oct 2026 00:14:04 +0530 Subject: [PATCH 2/2] =?UTF-8?q?ci(eosim):=20install=20EoSim=20through=20in?= =?UTF-8?q?stall-eosim=20in=20every=20job,=20not=20only=20Linux=20?= =?UTF-8?q?=E2=80=94=20refs=20#148?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Windows, macOS and cross-OS matrix jobs were left on the direct clone on the assumption that setup-python does not provide python3 on Windows. That assumption was wrong: on windows-latest setup-python puts python3 on PATH, and the action resolves, installs and verifies v3.0.2 on ubuntu-latest, macos-latest and windows-latest (probe run Kartikey1306/.github actions run 37668634240). Per the org standard (.github docs/install-eosim-standard.md), every remaining inline clone-and-install in .github/workflows now uses the action; workflows that pin a literal v3.0.2 pass version "3.0.2". --- .github/workflows/eosim-sanity.yml | 14 +++++++++++--- .github/workflows/simulation-test.yml | 16 ++++++++-------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.github/workflows/eosim-sanity.yml b/.github/workflows/eosim-sanity.yml index 54ecc40..b168070 100644 --- a/.github/workflows/eosim-sanity.yml +++ b/.github/workflows/eosim-sanity.yml @@ -42,7 +42,9 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install EoSim - run: git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} https://github.com/embeddedos-org/EoSim.git /tmp/EoSim && pip install /tmp/EoSim + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Verify installation run: | # Assert the installed package version matches the pinned tag. @@ -189,10 +191,13 @@ jobs: # `eosim list` exits 0 with zero platforms, so "list && doctor" passed # on both these runners while validating nothing. Assert a non-zero # platform count from the in-package tree, as install-validate does. + - name: Install EoSim + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Test EoSim on Windows shell: bash run: | - git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} https://github.com/embeddedos-org/EoSim.git /tmp/EoSim && pip install /tmp/EoSim eosim --version eosim doctor python -c " @@ -213,10 +218,13 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.12" + - name: Install EoSim + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Test EoSim on macOS shell: bash run: | - git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} https://github.com/embeddedos-org/EoSim.git /tmp/EoSim && pip install /tmp/EoSim eosim --version eosim doctor python -c " diff --git a/.github/workflows/simulation-test.yml b/.github/workflows/simulation-test.yml index b7462ef..aff07ad 100644 --- a/.github/workflows/simulation-test.yml +++ b/.github/workflows/simulation-test.yml @@ -45,10 +45,10 @@ jobs: python-version: "3.12" # EoSim v3.0.2 is a real tag. No release ships a wheel, so install from # a git checkout; platforms ship in-package since v3.0.2 (no copy needed). - - name: Install EoSim from source - run: | - git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} https://github.com/embeddedos-org/EoSim.git /tmp/EoSim - pip install -e /tmp/EoSim + - name: Install EoSim + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Validate platform run: eosim info ${{ matrix.platform }} - name: Simulate ${{ matrix.platform }} @@ -90,10 +90,10 @@ jobs: - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.12" - - name: Install EoSim from source - run: | - git clone --depth 1 --branch v${{ env.EOSIM_VERSION }} https://github.com/embeddedos-org/EoSim.git /tmp/EoSim - pip install -e /tmp/EoSim + - name: Install EoSim + uses: embeddedos-org/.github/.github/actions/install-eosim@master + with: + version: ${{ env.EOSIM_VERSION }} - name: Validate all platforms run: eosim list && eosim doctor - name: List platforms