From b9ca909eec78d3d62f0106dacdfc30ccd1a79329 Mon Sep 17 00:00:00 2001 From: leavesster <11785335+leavesster@users.noreply.github.com> Date: Wed, 1 Apr 2026 13:34:31 +0800 Subject: [PATCH 1/2] ci: reuse ovmlayer action from oocana-rust --- .github/actions/ovmlayer/action.yml | 82 ----------------------------- .github/workflows/layer.yml | 2 +- .github/workflows/oocana-node.yml | 2 +- 3 files changed, 2 insertions(+), 84 deletions(-) delete mode 100644 .github/actions/ovmlayer/action.yml diff --git a/.github/actions/ovmlayer/action.yml b/.github/actions/ovmlayer/action.yml deleted file mode 100644 index f57c3004..00000000 --- a/.github/actions/ovmlayer/action.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: "setup ovmlayer" -description: "setup ovmlayer on ubuntu-latest" -inputs: - token: - description: "GitHub token with access to the ovmlayer release repository" - required: true - default: ${{ github.token }} - repository: - description: "GitHub repository name under oomol to download ovmlayer releases from" - required: true - use-runtime-setup: - description: "Whether to use ovmlayer setup with an extracted rootfs directory" - required: false - default: "false" - rootfs: - description: "rootfs tar" - required: false - default: "https://github.com/oomol/ovmlayer-rootfs/releases/download/base-rootfs%400.4.0/amd64-rootfs.tar" -runs: - using: "composite" - steps: - - name: setup ovmlayer environment - run: | - sudo apt update - sudo apt install -y --no-install-recommends tar zstd - shell: bash - - name: download ovmlayer - run: | - arch=$(uname -m) - case "$arch" in - x86_64) - arch=amd64 - ;; - aarch64|arm64) - arch=arm64 - ;; - *) - echo "unsupported architecture: $arch" >&2 - exit 1 - ;; - esac - - gh release download \ - --repo "oomol/${{ inputs.repository }}" \ - --pattern "*${arch}*" \ - --clobber \ - -O ovmlayer.tar.zst - - zstd -d ovmlayer.tar.zst -o ovmlayer.tar - mkdir -p ovmlayer-bin - tar -xf ovmlayer.tar -C ovmlayer-bin - - bin=$(find "$(pwd)/ovmlayer-bin" -name ovmlayer -type f | head -n 1) - if [[ -z "$bin" ]]; then - echo "ovmlayer binary not found in downloaded archive" >&2 - exit 1 - fi - - sudo install -m 755 "$bin" /usr/bin/ovmlayer - shell: bash - env: - GH_TOKEN: ${{ inputs.token }} - - name: download base rootfs - run: | - curl -L ${{ inputs.rootfs }} -o base_rootfs.tar - shell: bash - - name: extract base rootfs for runtime setup - if: inputs.use-runtime-setup == 'true' - run: | - mkdir -p base_rootfs - sudo tar -xf base_rootfs.tar -C "$(pwd)/base_rootfs" - shell: bash - - name: setup ovmlayer - run: | - if [[ "${{ inputs.use-runtime-setup }}" == "true" ]]; then - sudo -E ovmlayer setup --runtime /ovmlayer-workspace --external /external_layers --rootfs-path="$(pwd)/base_rootfs" - # GitHub Actions root user workaround: ovmlayer looks for config under $HOME. - sudo ln -sf /home/runner/.ovmlayer_cfg.json /root/.ovmlayer_cfg.json - else - sudo ovmlayer setup dev --base-rootfs="$(pwd)/base_rootfs.tar" --layer-disk=/tmp/layer-disk - fi - shell: bash diff --git a/.github/workflows/layer.yml b/.github/workflows/layer.yml index c1ecf272..87c0c75a 100644 --- a/.github/workflows/layer.yml +++ b/.github/workflows/layer.yml @@ -54,7 +54,7 @@ jobs: private-key: ${{ secrets.OOMOL_DOWNLOADER_APP_PRIVATE_KEY }} owner: oomol repositories: ${{ env.OVMLAYER_REPOSITORY }} - - uses: ./.github/actions/ovmlayer + - uses: oomol/oocana-rust/.github/actions/ovmlayer@main with: repository: ${{ env.OVMLAYER_REPOSITORY }} rootfs: https://github.com/oomol/ovmlayer-rootfs/releases/download/base-rootfs%400.4.0/${{steps.rootfs.outputs.architecture}}-rootfs.tar diff --git a/.github/workflows/oocana-node.yml b/.github/workflows/oocana-node.yml index 32827d54..35f2d8a2 100644 --- a/.github/workflows/oocana-node.yml +++ b/.github/workflows/oocana-node.yml @@ -32,7 +32,7 @@ jobs: private-key: ${{ secrets.OOMOL_DOWNLOADER_APP_PRIVATE_KEY }} owner: oomol repositories: ${{ env.OVMLAYER_REPOSITORY }} - - uses: ./.github/actions/ovmlayer + - uses: oomol/oocana-rust/.github/actions/ovmlayer@main with: repository: ${{ env.OVMLAYER_REPOSITORY }} rootfs: https://github.com/oomol/ovmlayer-rootfs/releases/download/base-rootfs%400.3.0/amd64-rootfs.tar From 3e197c4173453b9ecbeb6383d47ff059188ee653 Mon Sep 17 00:00:00 2001 From: leavesster <11785335+leavesster@users.noreply.github.com> Date: Wed, 1 Apr 2026 13:40:13 +0800 Subject: [PATCH 2/2] ci: pin shared ovmlayer action to commit sha --- .github/workflows/layer.yml | 2 +- .github/workflows/oocana-node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/layer.yml b/.github/workflows/layer.yml index 87c0c75a..f59d37f6 100644 --- a/.github/workflows/layer.yml +++ b/.github/workflows/layer.yml @@ -54,7 +54,7 @@ jobs: private-key: ${{ secrets.OOMOL_DOWNLOADER_APP_PRIVATE_KEY }} owner: oomol repositories: ${{ env.OVMLAYER_REPOSITORY }} - - uses: oomol/oocana-rust/.github/actions/ovmlayer@main + - uses: oomol/oocana-rust/.github/actions/ovmlayer@6c365c646efde55d6c4636b5921e237020ea2838 with: repository: ${{ env.OVMLAYER_REPOSITORY }} rootfs: https://github.com/oomol/ovmlayer-rootfs/releases/download/base-rootfs%400.4.0/${{steps.rootfs.outputs.architecture}}-rootfs.tar diff --git a/.github/workflows/oocana-node.yml b/.github/workflows/oocana-node.yml index 35f2d8a2..3becf835 100644 --- a/.github/workflows/oocana-node.yml +++ b/.github/workflows/oocana-node.yml @@ -32,7 +32,7 @@ jobs: private-key: ${{ secrets.OOMOL_DOWNLOADER_APP_PRIVATE_KEY }} owner: oomol repositories: ${{ env.OVMLAYER_REPOSITORY }} - - uses: oomol/oocana-rust/.github/actions/ovmlayer@main + - uses: oomol/oocana-rust/.github/actions/ovmlayer@6c365c646efde55d6c4636b5921e237020ea2838 with: repository: ${{ env.OVMLAYER_REPOSITORY }} rootfs: https://github.com/oomol/ovmlayer-rootfs/releases/download/base-rootfs%400.3.0/amd64-rootfs.tar