ci: testing
This commit is contained in:
parent
15ff8f9d1a
commit
59e114acd0
1 changed files with 127 additions and 125 deletions
|
@ -20,28 +20,30 @@ env:
|
|||
KUBECTL_VERSION: v1.21.0 # renovate: datasource=github-releases depName=kubectl packageName=kubernetes/kubernetes
|
||||
|
||||
jobs:
|
||||
lint-node:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- run: cat /etc/os-release
|
||||
# lint-node:
|
||||
# runs-on: self-hosted
|
||||
# steps:
|
||||
# - run: cat /etc/os-release
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
show-progress: false
|
||||
# - uses: actions/checkout@v4
|
||||
# with:
|
||||
# show-progress: false
|
||||
|
||||
- uses: ./.forgejo/actions/setup
|
||||
- uses: ./.forgejo/actions/setup-node
|
||||
# - uses: ./.forgejo/actions/setup
|
||||
# - uses: ./.forgejo/actions/setup-node
|
||||
|
||||
- run: npm run prettier
|
||||
- run: npx markdownlint-cli .
|
||||
- run: make readme
|
||||
- run: git diff --exit-code --name-only README.md
|
||||
# - run: npm run prettier
|
||||
# - run: npx markdownlint-cli .
|
||||
# - run: make readme
|
||||
# - run: git diff --exit-code --name-only README.md
|
||||
|
||||
lint-helm:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- run: cat /etc/os-release
|
||||
|
||||
- run: ps axf
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
show-progress: false
|
||||
|
@ -49,18 +51,18 @@ jobs:
|
|||
|
||||
- uses: ./.forgejo/actions/setup
|
||||
|
||||
- name: install helm ${{ env.HELM_VERSION }}
|
||||
- name: install chart-testing
|
||||
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
|
||||
with:
|
||||
version: ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
|
||||
- name: install helm
|
||||
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
||||
with:
|
||||
version: ${{ env.HELM_VERSION }}
|
||||
|
||||
- run: helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} https://github.com/helm-unittest/helm-unittest
|
||||
|
||||
- name: install chart-testing ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
|
||||
with:
|
||||
version: ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
|
||||
- run: helm dependency build
|
||||
|
||||
- run: yamllint -f colored .
|
||||
|
@ -69,131 +71,131 @@ jobs:
|
|||
- run: make unittests
|
||||
- run: ct lint --config tools/ct.yml --charts .
|
||||
|
||||
e2e:
|
||||
runs-on: self-hosted
|
||||
# e2e:
|
||||
# runs-on: self-hosted
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
k8s:
|
||||
# from https://hub.docker.com/r/kindest/node/tags
|
||||
# - v1.25.3 # renovate: kindest
|
||||
- v1.28.0 # renovate: kindest
|
||||
# strategy:
|
||||
# matrix:
|
||||
# k8s:
|
||||
# # from https://hub.docker.com/r/kindest/node/tags
|
||||
# # - v1.25.3 # renovate: kindest
|
||||
# - v1.28.0 # renovate: kindest
|
||||
|
||||
steps:
|
||||
- run: cat /etc/os-release
|
||||
# steps:
|
||||
# - run: cat /etc/os-release
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
show-progress: false
|
||||
fetch-depth: 0
|
||||
# - uses: actions/checkout@v4
|
||||
# with:
|
||||
# show-progress: false
|
||||
# fetch-depth: 0
|
||||
|
||||
- uses: ./.forgejo/actions/setup
|
||||
- uses: ./.forgejo/actions/setup-node
|
||||
# - uses: ./.forgejo/actions/setup
|
||||
# - uses: ./.forgejo/actions/setup-node
|
||||
|
||||
- name: install docker
|
||||
run: |
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update -qq
|
||||
apt-get -q install -qq \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io \
|
||||
;
|
||||
# - name: install docker
|
||||
# run: |
|
||||
# install -m 0755 -d /etc/apt/keyrings
|
||||
# curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
# chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
# echo \
|
||||
# "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
# $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
# tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
# apt-get update -qq
|
||||
# apt-get -q install -qq \
|
||||
# docker-ce \
|
||||
# docker-ce-cli \
|
||||
# containerd.io \
|
||||
# ;
|
||||
|
||||
# - run: pip3 install yamllint yamale
|
||||
# # - run: pip3 install yamllint yamale
|
||||
|
||||
# - name: install kind ${{ env.KIND_VERSION }}
|
||||
# run: |
|
||||
# curl -Lo /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64"
|
||||
# chmod +x /usr/local/bin/kind
|
||||
# kind --version
|
||||
# # - name: install kind ${{ env.KIND_VERSION }}
|
||||
# # run: |
|
||||
# # curl -Lo /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64"
|
||||
# # chmod +x /usr/local/bin/kind
|
||||
# # kind --version
|
||||
|
||||
# - name: install chart-testing ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
# run: |
|
||||
# curl -LO "https://github.com/helm/chart-testing/releases/download/${HELM_CHART_TESTING_VERSION}/chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz"
|
||||
# tar -C "/usr/local/bin" -xf "chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz" ct
|
||||
# mkdir /etc/ct
|
||||
# tar --strip 1 -C "/etc/ct" -xf "chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz" etc
|
||||
# rm "chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz"
|
||||
# ct --version
|
||||
# # - name: install chart-testing ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
# # run: |
|
||||
# # curl -LO "https://github.com/helm/chart-testing/releases/download/${HELM_CHART_TESTING_VERSION}/chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz"
|
||||
# # tar -C "/usr/local/bin" -xf "chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz" ct
|
||||
# # mkdir /etc/ct
|
||||
# # tar --strip 1 -C "/etc/ct" -xf "chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz" etc
|
||||
# # rm "chart-testing_${HELM_CHART_TESTING_VERSION#v}_linux_amd64.tar.gz"
|
||||
# # ct --version
|
||||
|
||||
- run: docker info
|
||||
# - run: docker info
|
||||
|
||||
- name: Create ${{ matrix.k8s }} cluster with kind ${{ env.KIND_VERSION }}
|
||||
uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0
|
||||
with:
|
||||
node_image: kindest/node:${{ matrix.k8s }}
|
||||
version: ${{ env.KIND_VERSION }}
|
||||
# - name: Create kind cluster
|
||||
# uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0
|
||||
# with:
|
||||
# node_image: kindest/node:${{ matrix.k8s }}
|
||||
# version: ${{ env.KIND_VERSION }}
|
||||
|
||||
- run: kubectl get no -o wide
|
||||
# - run: kubectl get no -o wide
|
||||
|
||||
- name: Install chart-testing ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
|
||||
with:
|
||||
version: ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
# - name: Install chart-testing
|
||||
# uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
|
||||
# with:
|
||||
# version: ${{ env.HELM_CHART_TESTING_VERSION }}
|
||||
|
||||
# Catch-all required check for test matrix
|
||||
test-success:
|
||||
needs:
|
||||
- lint-node
|
||||
- lint-helm
|
||||
- e2e
|
||||
runs-on: self-hosted
|
||||
timeout-minutes: 1
|
||||
if: always()
|
||||
steps:
|
||||
- name: Fail for failed or cancelled lint-node
|
||||
if: |
|
||||
needs.lint-node.result == 'failure' ||
|
||||
needs.lint-node.result == 'cancelled'
|
||||
run: exit 1
|
||||
- name: Fail for failed or cancelled lint-helm
|
||||
if: |
|
||||
needs.lint-helm.result == 'failure' ||
|
||||
needs.lint-helm.result == 'cancelled'
|
||||
run: exit 1
|
||||
- name: Fail for failed or cancelled e2e
|
||||
if: |
|
||||
needs.e2e.result == 'failure' ||
|
||||
needs.e2e.result == 'cancelled'
|
||||
run: exit 1
|
||||
# # Catch-all required check for test matrix
|
||||
# test-success:
|
||||
# needs:
|
||||
# - lint-node
|
||||
# - lint-helm
|
||||
# - e2e
|
||||
# runs-on: self-hosted
|
||||
# timeout-minutes: 1
|
||||
# if: always()
|
||||
# steps:
|
||||
# - name: Fail for failed or cancelled lint-node
|
||||
# if: |
|
||||
# needs.lint-node.result == 'failure' ||
|
||||
# needs.lint-node.result == 'cancelled'
|
||||
# run: exit 1
|
||||
# - name: Fail for failed or cancelled lint-helm
|
||||
# if: |
|
||||
# needs.lint-helm.result == 'failure' ||
|
||||
# needs.lint-helm.result == 'cancelled'
|
||||
# run: exit 1
|
||||
# - name: Fail for failed or cancelled e2e
|
||||
# if: |
|
||||
# needs.e2e.result == 'failure' ||
|
||||
# needs.e2e.result == 'cancelled'
|
||||
# run: exit 1
|
||||
|
||||
publish:
|
||||
runs-on: self-hosted
|
||||
needs:
|
||||
- test-success
|
||||
# publish:
|
||||
# runs-on: self-hosted
|
||||
# needs:
|
||||
# - test-success
|
||||
|
||||
if: ${{ github.ref_type == 'tag' }}
|
||||
# if: ${{ github.ref_type == 'tag' }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
show-progress: false
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# with:
|
||||
# show-progress: false
|
||||
|
||||
- uses: ./.forgejo/actions/setup
|
||||
- uses: ./.forgejo/actions/setup-node
|
||||
# - uses: ./.forgejo/actions/setup
|
||||
# - uses: ./.forgejo/actions/setup-node
|
||||
|
||||
- name: install helm
|
||||
uses: https://github.com/azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
||||
with:
|
||||
version: v3.13.2 # renovate: datasource=github-releases depName=helm packageName=helm/helm
|
||||
# - name: install helm
|
||||
# uses: https://github.com/azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
||||
# with:
|
||||
# version: v3.13.2 # renovate: datasource=github-releases depName=helm packageName=helm/helm
|
||||
|
||||
- run: helm dependency build
|
||||
- run: helm package --version "${GITHUB_REF_NAME#v}" -d tmp/ ./
|
||||
# - run: helm dependency build
|
||||
# - run: helm package --version "${GITHUB_REF_NAME#v}" -d tmp/ ./
|
||||
|
||||
- name: login to codeberg packages
|
||||
run: echo ${TOKEN} | helm registry login -u viceice --password-stdin codeberg.org/forgejo-contrib
|
||||
env:
|
||||
TOKEN: ${{secrets.token}}
|
||||
# - name: login to codeberg packages
|
||||
# run: echo ${TOKEN} | helm registry login -u viceice --password-stdin codeberg.org/forgejo-contrib
|
||||
# env:
|
||||
# TOKEN: ${{secrets.token}}
|
||||
|
||||
- name: publish forgejo helm chart
|
||||
run: helm push tmp/forgejo-${GITHUB_REF_NAME#v}.tgz oci://codeberg.org/forgejo-contrib
|
||||
# - name: publish forgejo helm chart
|
||||
# run: helm push tmp/forgejo-${GITHUB_REF_NAME#v}.tgz oci://codeberg.org/forgejo-contrib
|
||||
|
||||
- name: publish forgejo release
|
||||
run: npm run forgejo:release
|
||||
# - name: publish forgejo release
|
||||
# run: npm run forgejo:release
|
||||
|
|
Loading…
Reference in a new issue