Skip to content

Merge pull request #18275 from gfouillet/v3.4/fix-client-leaks #2333

Merge pull request #18275 from gfouillet/v3.4/fix-client-leaks

Merge pull request #18275 from gfouillet/v3.4/fix-client-leaks #2333

Workflow file for this run

name: "Smoke"
on:
push:
branches: [2.*, 3.*, 4.*, main]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
workflow_dispatch:
permissions:
contents: read
jobs:
smoke:
name: Smoke
runs-on: [self-hosted, linux, arm64, aws, xlarge]
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
cloud: ["localhost", "microk8s"]
steps:
- name: Install Dependencies
shell: bash
run: |
set -euxo pipefail
echo "/snap/bin" >> $GITHUB_PATH
sudo DEBIAN_FRONTEND=noninteractive apt install -y expect
- name: Checkout
uses: actions/checkout@v4
- name: Setup LXD
if: matrix.cloud == 'localhost'
uses: canonical/setup-lxd@4e959f8e0d9c5feb27d44c5e4d9a330a782edee0
- name: Wait for LXD
if: matrix.cloud == 'localhost'
run: |
while ! ip link show lxdbr0; do
echo "Waiting for lxdbr0..."
sleep 10
done
- name: Setup Docker Mirror
shell: bash
run: |
(cat /etc/docker/daemon.json 2> /dev/null || echo "{}") | yq -o json '.registry-mirrors += ["https://docker-cache.us-west-2.aws.jujuqa.com:443"]' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
docker system info
- name: Setup MicroK8s
if: matrix.cloud == 'microk8s'
uses: balchua/microk8s-actions@13f73436011eb4925c22526f64fb3ecdd81289a9
with:
channel: "1.28-strict/stable"
addons: '["dns", "hostpath-storage", "rbac"]'
launch-configuration: "$GITHUB_WORKSPACE/.github/microk8s-launch-config-aws.yaml"
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
- name: setup env
shell: bash
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
- name: Install local Juju
shell: bash
run: |
make go-install
- name: Update microk8s operator image
if: matrix.cloud == 'microk8s'
run: |
# TODO: use temporary Docker account (set DOCKER_USERNAME env var)
sg snap_microk8s 'make microk8s-operator-update'
- name: Smoke test (LXD)
if: matrix.cloud == 'localhost'
shell: bash
run: |
cd tests
export MODEL_ARCH=$(go env GOARCH)
./main.sh -v -s 'test_build' smoke
- name: Smoke test (MicroK8s)
if: matrix.cloud == 'microk8s'
shell: bash
run: |
cd tests
export MODEL_ARCH=$(go env GOARCH)
sg snap_microk8s './main.sh -c microk8s -s test_build -v smoke'