ci: fix integration tests #812
This file contains 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: Integration | |
on: | |
push: | |
tags: ["v*"] | |
branches: [main] | |
paths-ignore: | |
- "**/*.md" | |
- "**/*.nix" | |
- "**/*.lock" | |
pull_request: | |
branches: [main] | |
paths-ignore: | |
- "**/*.md" | |
- "**/*.nix" | |
- "**/*.lock" | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
description: 'Debug with tmate set "debug_enabled"' | |
required: false | |
default: "false" | |
jobs: | |
kubernetes-docker: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23" | |
- name: Fetch homebrew-core commit messages | |
uses: actions/checkout@v4 | |
with: | |
# needed by ./hack/brew-install-version.sh | |
repository: homebrew/homebrew-core | |
path: homebrew-core | |
fetch-depth: 0 | |
filter: tree:0 | |
- name: Install CLI deps | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: "1" | |
HOMEBREW_NO_INSTALL_UPGRADE: "1" | |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "1" | |
run: | | |
brew install --overwrite [email protected] kubectl docker coreutils lima | |
./.github/hack/brew-install-version.sh qemu 8.2.1 | |
- name: Build and Install | |
run: make && sudo make install | |
- name: tmate debugging session | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- name: Start Colima | |
run: colima start --runtime docker --kubernetes | |
- name: Delay | |
run: sleep 20 | |
- name: Validate Kubernetes | |
run: kubectl cluster-info && kubectl version && kubectl get nodes -o wide | |
- name: Teardown | |
run: colima delete -f | |
kubernetes-containerd: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23" | |
- name: Fetch homebrew-core commit messages | |
uses: actions/checkout@v4 | |
with: | |
# needed by ./hack/brew-install-version.sh | |
repository: homebrew/homebrew-core | |
path: homebrew-core | |
fetch-depth: 0 | |
filter: tree:0 | |
- name: Install CLI deps | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: "1" | |
HOMEBREW_NO_INSTALL_UPGRADE: "1" | |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "1" | |
run: | | |
brew install --overwrite [email protected] kubectl docker coreutils lima | |
./.github/hack/brew-install-version.sh qemu 8.2.1 | |
- name: Build and Install | |
run: make && sudo make install | |
- name: tmate debugging session | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- name: Start | |
run: colima start --runtime containerd --kubernetes | |
- name: Delay | |
run: sleep 20 | |
- name: Validate Kubernetes | |
run: kubectl cluster-info && kubectl version && kubectl get nodes -o wide | |
- name: Teardown | |
run: colima delete -f | |
docker: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23" | |
- name: Fetch homebrew-core commit messages | |
uses: actions/checkout@v4 | |
with: | |
# needed by ./hack/brew-install-version.sh | |
repository: homebrew/homebrew-core | |
path: homebrew-core | |
fetch-depth: 0 | |
filter: tree:0 | |
- name: Install CLI deps | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: "1" | |
HOMEBREW_NO_INSTALL_UPGRADE: "1" | |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "1" | |
run: | | |
brew install --overwrite [email protected] kubectl docker coreutils lima | |
./.github/hack/brew-install-version.sh qemu 8.2.1 | |
- name: Build and Install | |
run: make && sudo make install | |
- name: tmate debugging session | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- name: Start Colima | |
run: colima start --runtime docker | |
- name: Delay | |
run: sleep 10 | |
- name: Validate Docker | |
run: docker ps && docker info | |
- name: Validate DNS | |
run: colima ssh -- sh -c "sudo apt-get update -y -qq && sudo apt-get install -qq dnsutils && nslookup host.docker.internal" | |
- name: Build Image | |
run: docker build integration | |
- name: Stop | |
run: colima stop | |
- name: Teardown | |
run: colima delete -f | |
containerd: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23" | |
- name: Fetch homebrew-core commit messages | |
uses: actions/checkout@v4 | |
with: | |
# needed by ./hack/brew-install-version.sh | |
repository: homebrew/homebrew-core | |
path: homebrew-core | |
fetch-depth: 0 | |
filter: tree:0 | |
- name: Install CLI deps | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: "1" | |
HOMEBREW_NO_INSTALL_UPGRADE: "1" | |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "1" | |
run: | | |
brew install --overwrite [email protected] kubectl docker coreutils lima | |
./.github/hack/brew-install-version.sh qemu 8.2.1 | |
- name: Build and Install | |
run: make && sudo make install | |
- name: tmate debugging session | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- name: Start Colima | |
run: colima start --runtime containerd | |
- name: Delay | |
run: sleep 10 | |
- name: Validate Containerd | |
run: colima nerdctl ps && colima nerdctl info | |
- name: Validate DNS | |
run: colima ssh -- sh -c "sudo apt-get update -y -qq && sudo apt-get install -qq dnsutils && nslookup host.docker.internal" | |
- name: Build Image | |
run: colima nerdctl -- build integration | |
- name: Stop | |
run: colima stop | |
- name: Teardown | |
run: colima delete -f | |
incus: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23" | |
- name: Fetch homebrew-core commit messages | |
uses: actions/checkout@v4 | |
with: | |
# needed by ./hack/brew-install-version.sh | |
repository: homebrew/homebrew-core | |
path: homebrew-core | |
fetch-depth: 0 | |
filter: tree:0 | |
- name: Install CLI deps | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: "1" | |
HOMEBREW_NO_INSTALL_UPGRADE: "1" | |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "1" | |
run: | | |
brew install --overwrite [email protected] kubectl docker coreutils lima incus | |
./.github/hack/brew-install-version.sh qemu 8.2.1 | |
- name: Build and Install | |
run: make && sudo make install | |
- name: tmate debugging session | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- name: Start Colima | |
run: colima start --runtime incus | |
- name: Delay | |
run: sleep 10 | |
- name: Validate Incus | |
run: incus version && incus list | |
- name: Validate DNS | |
run: colima ssh -- sh -c "sudo apt-get update -y -qq && sudo apt-get install -qq dnsutils && nslookup host.docker.internal" | |
- name: Stop | |
run: colima stop | |
- name: Teardown | |
run: colima delete -f |