Skip to content

Prepare QCW Lima (from revision) #243

Prepare QCW Lima (from revision)

Prepare QCW Lima (from revision) #243

name: Prepare QCW Lima (from revision)
on:
workflow_dispatch:
workflow_call:
outputs:
lima_version:
description: "Lima version"
value: ${{ jobs.build.outputs.lima_version }}
gowsllinks_version:
description: "go-wsllinks version"
value: ${{ jobs.build.outputs.gowsllinks_version }}
bundles_version:
description: "bundles version"
value: ${{ jobs.build.outputs.bundles_version }}
alpine_version:
description: "Alpine version"
value: ${{ jobs.build.outputs.alpine_version }}
alpine_wsl_version:
description: "Alpine-WSL version"
value: ${{ jobs.build.outputs.alpine_wsl_version }}
env:
LIMA_GITURL: https://github.com/arixmkii/lima.git
LIMA_SHA: c75e8b4d0397a9b129ff9dc8ab5e7a98e01f32f5
LIMA_VERSION: dev
jobs:
# call-prepare-alpine-wsl:
# uses: ./.github/workflows/prepare-alpine-wsl-release.yml
# call-prepare-go-wsllinks:
# uses: ./.github/workflows/prepare-go-wsllinks-release.yml
build:
# needs: [call-prepare-go-wsllinks, call-prepare-alpine-wsl]
runs-on: windows-2025
outputs:
lima_version: ${{ steps.make_versions.outputs.lima }}
gowsllinks_version: ${{ steps.make_versions.outputs.gowsllinks }}
bundles_version: ${{ steps.make_versions.outputs.bundles }}
alpine_version: ${{ steps.make_versions.outputs.alpine }}
alpine_wsl_version: ${{ steps.make_versions.outputs.alpine_wsl }}
steps:
- name: Install QEMU
run: |
winget install --silent --accept-source-agreements --accept-package-agreements --disable-interactivity SoftwareFreedomConservancy.QEMU
winget install --silent --accept-source-agreements --accept-package-agreements --disable-interactivity Microsoft.Sysinternals.PsTools
- name: "๐Ÿ—๏ธ Install msys2 (user)"
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
install: >-
git make
- name: "๐Ÿ“ Configure checkout"
run: |
git config --global core.autocrlf input
- name: "๐Ÿ“ Checkout"
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: "๐Ÿ“ Fetch sources"
env:
MSYS: winsymlinks:nativestrict
shell: msys2 {0}
run: |
mkdir lima-release
cd lima-release
git init
git config --local core.symlinks true
git config --local core.autocrlf false
git config --local core.eol lf
git remote add origin $LIMA_GITURL
git fetch --tags origin $LIMA_SHA
git checkout FETCH_HEAD
git add .
git config --local user.name ci
git config --local user.email ci@example.com
git commit -m "Fake commit"
git tag v1.1.0
git describe --match 'v[0-9]*' --dirty='.m' --always --tags
- name: "๐Ÿ› ๏ธ Build Lima"
working-directory: lima-release
run: |
make
- name: Integration tests (QEMU, Windows host)
working-directory: lima-release
run: |
$env:PATH = "$pwd\_output\bin;" + 'C:\msys64\usr\bin;' + "$env:PROGRAMFILES\QEMU;" + "$env:LOCALAPPDATA\Microsoft\WinGet\Links;" + $env:PATH
pacman -Sy --noconfirm openbsd-netcat diffutils
$runnerhome = 'D:\a\_temp\Users\testrunner'
$runnertemp = 'D:\a\_temp\Users\testrunner\AppData\Local\Temp'
New-Item -Path $runnerhome -ItemType Directory -Force
New-Item -Path $runnertemp -ItemType Directory -Force
$env:USERPROFILEFAKE = $runnerhome
$env:TMP = $runnertemp
$env:TEMP = $runnertemp
$env:MSYS2_ENV_CONV_EXCL = 'HOME_HOST;HOME_GUEST;_LIMA_WINDOWS_EXTRA_PATH'
$env:HOME_HOST = $(cygpath.exe "$env:USERPROFILE")
$env:HOME_GUEST = "$env:HOME_HOST"
$env:LIMACTL_CREATE_ARGS = '--vm-type=qemu'
$env:_LIMA_WINDOWS_EXTRA_PATH = "$env:PROGRAMFILES\Git\usr\bin"
bash.exe -c "./hack/test-templates.sh templates/default.yaml"