Skip to content

Carefully use a status context on actions #187

Carefully use a status context on actions

Carefully use a status context on actions #187

name: Charmed Kubernetes VSphere Integration Tests
on: [pull_request]
jobs:
integration-test:
name: VSphere Integration Test
runs-on: self-hosted
timeout-minutes: 120
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Read charmcraft version file
id: charmcraft
run: echo "channel=$(cat .charmcraft-channel)" >> $GITHUB_OUTPUT
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Setup operator environment
uses: charmed-kubernetes/actions-operator@main
with:
provider: vsphere
juju-channel: 3.1/stable
charmcraft-channel: ${{ steps.charmcraft.outputs.channel }}
credentials-yaml: ${{ secrets.CREDENTIALS_YAML }}
clouds-yaml: ${{ secrets.CLOUDS_YAML }}
bootstrap-constraints: "arch=amd64 cores=2 mem=4G"
bootstrap-options: "${{ secrets.JAMMY_BOOTSTRAP_OPTIONS }} --model-default datastore=vsanDatastore --model-default primary-network=VLAN_2763"
- name: Run test
run: tox -e integration -- --basetemp=/home/ubuntu/pytest
- name: Setup Debug Artifact Collection
if: ${{ failure() }}
run: mkdir tmp
- name: Collect Juju Status
if: ${{ failure() }}
run: |
juju status 2>&1 | tee tmp/juju-status.txt
juju-crashdump -s -m controller -a debug-layer -a config -o tmp/
mv juju-crashdump-* tmp/ | true
- name: Upload debug artifacts
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: test-run-artifacts
path: tmp
- name: Upload charmcraft logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: charmcraft-logs
path: "/home/ubuntu/.local/state/charmcraft/log/*"