diff --git a/.github/workflows/PR_testing.yaml b/.github/workflows/PR_testing.yaml new file mode 100644 index 00000000..001e3c06 --- /dev/null +++ b/.github/workflows/PR_testing.yaml @@ -0,0 +1,36 @@ +name: "Apps: Test PR" + +on: [pull_request] + +jobs: + test-apps: + runs-on: ubuntu-latest + container: + image: ixsystems/catalog_validation:latest + + 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 catalog format + run: | + /bin/bash -c "PWD=${pwd}; /usr/local/bin/catalog_validate validate --path $PWD" + + - name: Validate changed charts + run: /bin/bash -c "PWD=${pwd}; sudo /usr/local/bin/charts_validate deploy --path $PWD" \ No newline at end of file diff --git a/.github/workflows/Push_testing.yaml b/.github/workflows/Push_testing.yaml new file mode 100644 index 00000000..47d58ac7 --- /dev/null +++ b/.github/workflows/Push_testing.yaml @@ -0,0 +1,17 @@ +name: "Apps: Test Push" + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ixsystems/catalog_validation:latest + + steps: + - uses: actions/checkout@v1 + name: Checkout + + - name: Validate catalog format + run: | + /bin/bash -c "PWD=${pwd}; /usr/local/bin/catalog_validate validate --path $PWD" \ No newline at end of file diff --git a/README.md b/README.md index 52c27e1c..e57c7fee 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,5 @@ It contains: - Base folder structure - Basic required files - 3 example Trains (charts, stable and test) -- 1 example app in each train (each based on TrueCharts) \ No newline at end of file +- 1 example app in each train (each based on TrueCharts) +- Basic CI to test PR's and catalog-health