Skip to content

Merge pull request #17896 from juju/dependabot/go_modules/2.9/golang.… #2219

Merge pull request #17896 from juju/dependabot/go_modules/2.9/golang.…

Merge pull request #17896 from juju/dependabot/go_modules/2.9/golang.… #2219

Workflow file for this run

name: "Smoke"
on:
push:
branches: [2.9, 3.1, 3.2, 3.3, main]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- '**.go'
- 'go.mod'
- 'testcharms/**'
- 'tests/main.sh'
- 'tests/includes/**'
- 'tests/suites/smoke/**'
- '.github/workflows/smoke.yml'
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@v3
- name: Setup LXD
if: matrix.cloud == 'localhost'
uses: canonical/setup-lxd@90d76101915da56a42a562ba766b1a77019242fd
- 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@e99a1ffcd3bb2682d941104cf6c1a215c657903f
with:
channel: "1.28/stable"
addons: '["dns", "hostpath-storage", "rbac"]'
launch-configuration: "$GITHUB_WORKSPACE/.github/microk8s-launch-config-aws.yaml"
- name: Set up Go
uses: actions/setup-go@v3
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 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 microk8s './main.sh -c microk8s -s test_build -v smoke'