Skip to content

fix(initrd): Ensure proper ordering and checks of (docker)files (#1964) #8

fix(initrd): Ensure proper ordering and checks of (docker)files (#1964)

fix(initrd): Ensure proper ordering and checks of (docker)files (#1964) #8

Workflow file for this run

name: tests/stable
on:
push:
branches: [stable]
jobs:
unit:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, ubuntu-22.04, macos-12, macos-13, macos-14, mac-m2-14]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Generate Suffix
shell: bash
id: suffix
run: echo "suffix=$(date +%s)" >> "$GITHUB_OUTPUT"
- name: Set up BuildKit
shell: bash
run: |
docker run \
--rm \
-itd \
--privileged \
--name "buildkitd_${GITHUB_RUN_ID}_${SUFFIX}" \
-v /run/buildkit:/run/buildkit:rw \
moby/buildkit:v0.14.1;
timeout 60 bash -c 'while [ ! -S "/run/buildkit/buildkitd.sock" ]; do sleep 1; done'
sudo chmod 666 /run/buildkit/buildkitd.sock;
env:
SUFFIX: ${{ steps.suffix.outputs.suffix }}
- uses: actions/setup-go@v5
with:
go-version: 1.22.3
cache: false
- name: Set Go variables
id: goenv
run: |
{
echo "cache=$(go env GOCACHE)"
echo "modcache=$(go env GOMODCACHE)"
echo "mod=$(go env GOMOD)"
} >>"$GITHUB_OUTPUT"
- name: Go caches
uses: actions/cache@v4
with:
path: |
${{ steps.goenv.outputs.cache }}
${{ steps.goenv.outputs.modcache }}
key: ${{ github.job }}-${{ runner.os }}-go-${{ hashFiles(steps.goenv.outputs.mod) }}
restore-keys: |
${{ github.job }}-${{ runner.os }}-go-
- name: Run tests
run: make test-unit
- name: Stop BuildKit
if: always()
shell: bash
run: docker stop "buildkitd_${GITHUB_RUN_ID}_${{ steps.suffix.outputs.suffix }}" || true
e2e-cli:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.22.3
cache: false
- name: Set Go variables
id: goenv
run: |
{
echo "cache=$(go env GOCACHE)"
echo "modcache=$(go env GOMODCACHE)"
echo "mod=$(go env GOMOD)"
} >>"$GITHUB_OUTPUT"
- name: Go caches
uses: actions/cache@v4
with:
path: |
${{ steps.goenv.outputs.cache }}
${{ steps.goenv.outputs.modcache }}
key: ${{ github.job }}-${{ runner.os }}-go-${{ hashFiles(steps.goenv.outputs.mod) }}
restore-keys: |
${{ github.job }}-${{ runner.os }}-go-
- name: Run framework unit tests
env:
KRAFTKIT_NO_WARN_SUDO: true
KRAFTKIT_NO_CHECK_UPDATES: true
run: go run github.com/onsi/ginkgo/v2/ginkgo -v -p -randomize-all ./test/e2e/framework/...
- name: Run e2e tests
env:
KRAFTKIT_NO_WARN_SUDO: true
KRAFTKIT_NO_CHECK_UPDATES: true
DOCKER: ''
run: make test-e2e DISTDIR="$(go env GOPATH)"/bin
e2e-cloud-cli:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.22.3
cache: false
- name: Set Go variables
id: goenv
run: |
{
echo "cache=$(go env GOCACHE)"
echo "modcache=$(go env GOMODCACHE)"
echo "mod=$(go env GOMOD)"
} >>"$GITHUB_OUTPUT"
- name: Go caches
uses: actions/cache@v4
with:
path: |
${{ steps.goenv.outputs.cache }}
${{ steps.goenv.outputs.modcache }}
key: ${{ github.job }}-${{ runner.os }}-go-${{ hashFiles(steps.goenv.outputs.mod) }}
restore-keys: |
${{ github.job }}-${{ runner.os }}-go-
- name: Run framework unit tests
env:
KRAFTKIT_NO_WARN_SUDO: true
KRAFTKIT_NO_CHECK_UPDATES: true
DOCKER: ''
run: make test-framework DISTDIR="$(go env GOPATH)"/bin
- name: Run cloud e2e tests
env:
KRAFTCLOUD_METRO: ${{ secrets.KRAFTCLOUD_METRO }}
KRAFTCLOUD_TOKEN: ${{ secrets.KRAFTCLOUD_TOKEN }}
KRAFTCLOUD_USER: ${{ env.KRAFTCLOUD_USER }}
KRAFTKIT_NO_CHECK_UPDATES: true
KRAFTKIT_NO_WARN_SUDO: true
DOCKER: ''
run: make test-cloud-e2e DISTDIR="$(go env GOPATH)"/bin