Skip to content

Add fresh installation CI integration job #517

Add fresh installation CI integration job

Add fresh installation CI integration job #517

Workflow file for this run

name: Harvester-Node-Disk-Manager CI
# synchronize for pull request update
on:
push:
branches:
- master
- 'v**'
pull_request:
types: [opened, reopened, synchronize]
env:
LIBVIRT_DEFAULT_URI: "qemu:///system"
VM_DEPLOYED: false
jobs:
validation:
runs-on:
- self-hosted
- golang
steps:
- name: "Clone and check"
uses: actions/checkout@v3
- name: "Run validations"
run: |
make validate
make validate-ci
main_jobs (new):

Check failure on line 28 in .github/workflows/basic-ci.yaml

View workflow run for this annotation

GitHub Actions / Harvester-Node-Disk-Manager CI

Invalid workflow file

The workflow is not valid. .github/workflows/basic-ci.yaml (Line: 28, Col: 3): The identifier 'main_jobs (new)' is invalid. IDs may only contain alphanumeric characters, '_', and '-'. IDs must start with a letter or '_' and and must be less than 100 characters. .github/workflows/basic-ci.yaml (Line: 38, Col: 3): The identifier 'main_jobs (upgrade)' is invalid. IDs may only contain alphanumeric characters, '_', and '-'. IDs must start with a letter or '_' and and must be less than 100 characters.
needs: validation
runs-on:
- self-hosted
- golang
steps:
- name: "Build the Image for the Integration Test"
run: |
sleep 500
echo "Hello!"
main_jobs (upgrade):
needs: validation
runs-on:
- self-hosted
- golang
steps:
- name: "Clone and check"
uses: actions/checkout@v3
- name: "Build the Image for the Integration Test"
run: |
BUILD_FOR_CI=true make
./ci/scripts/patch-ttl-repo.sh
echo "NDM override result as below:"
cat ci/charts/ndm-override.yaml
- name: "Local Deployment (Harvester+Longhorn+Node-Disk-Manager) for testing"
id: vm_deploy
run: |
rm -rf ndm-vagrant-k3s
git clone https://github.com/bk201/vagrant-k3s ndm-vagrant-k3s
pushd ndm-vagrant-k3s
yq e -i ".cluster_size = 1" settings.yaml
./new-cluster.sh
echo "VM_DEPLOYED=true" >> "$GITHUB_ENV"
yq e -i ".longhorn_version = \"1.7.1\"" settings.yaml
./scripts/deploy_longhorn.sh
cp ../ci/scripts/deploy_ndm.sh ./deploy_ndm.sh
./deploy_ndm.sh
popd
- name: "Add disk"
run: |
pushd ndm-vagrant-k3s
./scripts/attach-disk.sh node1
sleep 30
popd
- name: "Patch Image target (for upgrade)"
run: |
./ci/scripts/patch-ttl-repo.sh
echo "NDM override result as below:"
cat ci/charts/ndm-override.yaml
- name: "Upgrade NDM"
run: |
pushd ndm-vagrant-k3s
cp ../ci/scripts/upgrade_ndm.sh ./upgrade_ndm.sh
./upgrade_ndm.sh
popd
- name: "Run Basic Test"
id: basic-test
run: |
pushd ndm-vagrant-k3s
vagrant ssh-config node1 > ../ssh-config
cp kubeconfig ../kubeconfig
popd
echo Running integration tests
NDM_HOME=`pwd` go test -v ./tests/...
- name: "Get NDM logs"
if: always()
run: |
if [ ${{ env.VM_DEPLOYED }} != 'true' ]; then
echo "VM is not deployed, skip getting logs"
exit 0
fi
./ci/scripts/get-debug-info.sh
- name: "Tear Down / Cleanup"
if: always()
run: |
if [ ${{ env.VM_DEPLOYED }} != 'true' ]; then
echo "VM is not deployed, skip VM destroy"
exit 0
fi
pushd ndm-vagrant-k3s
vagrant destroy -f --parallel
popd