name: "Charts: Tests" on: pull_request: branches: - '**' tags-ignore: - '**' jobs: catalog-tests: runs-on: ubuntu-latest container: image: ixsystems/catalog_validation:latest steps: - uses: actions/checkout@v2 name: Checkout - name: Validate catalog format run: | /bin/bash -c "PWD=${pwd}; /usr/local/bin/catalog_validate validate --path $PWD" common-lint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Install Helm uses: azure/setup-helm@v1 with: version: v3.4.0 - uses: actions/setup-python@v2 with: python-version: 3.7 - name: Set up chart-testing uses: helm/chart-testing-action@v2.0.1 - name: Run chart-testing (lint) id: lint run: ct lint --config .github/ct.yaml --charts 'library/common' - name: Create kind cluster uses: helm/kind-action@v1.1.0 common-unittest: runs-on: ubuntu-latest needs: common-lint steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Install Dev tools run: sudo apt-get update && sudo apt-get install -y jq libjq-dev - name: Install Helm uses: azure/setup-helm@v1 with: version: v3.4.0 - name: Install Ruby uses: ruby/setup-ruby@v1 with: ruby-version: 2.7 - name: Install dependencies run: | export RUBYJQ_USE_SYSTEM_LIBRARIES=1 bundle install - name: Run tests run: | bundle exec m -r .tools/tests/charts chart-tests: needs: [common-lint, common-unittest, catalog-tests] runs-on: ubuntu-20.04 steps: - name: Install Helm run: /bin/bash -c "curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash" - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Fetch base branch history run: git fetch origin master:master - name: Setup catalog validation run: | sudo apt update > /dev/null 2>&1 sudo apt install -y python3-all-dev python3-pip python3-setuptools > /dev/null 2>&1 git clone https://github.com/truenas/catalog_validation sudo pip3 install --disable-pip-version-check --exists-action w -r catalog_validation/requirements.txt > /dev/null 2>&1 sudo pip3 install -U catalog_validation/. - name: Validate changed charts run: /bin/bash -c "PWD=${pwd}; sudo /usr/local/bin/charts_validate deploy --path $PWD"