Prepare QCW Lima (from revision) #243
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |