diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f37053..d0d801c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,17 +23,15 @@ env: jobs: markup-lint: name: Markup - uses: devpro/github-workflow-parts/.github/workflows/reusable-markup-lint.yml@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/.github/workflows/reusable-markup-lint.yml@99e797d0672c8a4fb39c4174173fa677c00a5d1e + # The VitePress site is published by the GitLab pipeline, as the Pages of this repository serve the chart repository. docs: name: Docs - uses: devpro/github-workflow-parts/.github/workflows/reusable-pages-deployment.yml@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/.github/workflows/reusable-node-quality.yml@99e797d0672c8a4fb39c4174173fa677c00a5d1e with: - # VitePress writes the site the GitLab pipeline publishes, which this job only builds. - deploy: false job-name: Docs - site-path: public - workflow-parts-version: 591b0c7bfba6fbc7b0cab7d896447e0732b819de + workflow-parts-version: 99e797d0672c8a4fb39c4174173fa677c00a5d1e charts: name: Charts @@ -52,13 +50,13 @@ jobs: # note: important to have chart-testing work (see https://github.com/helm/chart-testing/issues/186) fetch-depth: 0 - name: Install Helm - uses: devpro/github-workflow-parts/actions/helm/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/helm/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Install kube-linter - uses: devpro/github-workflow-parts/actions/kube-linter/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/kube-linter/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Run kube-linter run: kube-linter lint charts --config .kube-linter.yaml - name: Set up chart-testing - uses: devpro/github-workflow-parts/actions/chart-testing/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/chart-testing/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Add dependency chart repositories run: ./scripts/add_helm_repo.sh - name: List changed charts @@ -74,12 +72,12 @@ jobs: if: steps.list-changed.outputs.changed == 'true' run: ct lint $CHARTS_DIRECTORIES_ARG --target-branch "$DEFAULT_BRANCH" - name: Install kubeconform - uses: devpro/github-workflow-parts/actions/kubeconform/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/kubeconform/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Validate manifests against the Kubernetes schemas run: ./scripts/validate_charts.sh # The standalone binary of the helm-unittest plugin, so no plugin is installed into Helm. - name: Install helm-unittest - uses: devpro/github-workflow-parts/actions/helm-unittest/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/helm-unittest/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Run chart unit tests run: | charts=$(dirname charts/*/tests | sort -u) @@ -98,14 +96,14 @@ jobs: with: fetch-depth: 0 - name: Install Helm - uses: devpro/github-workflow-parts/actions/helm/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/helm/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Set up chart-testing - uses: devpro/github-workflow-parts/actions/chart-testing/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/chart-testing/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e - name: Add dependency chart repositories run: ./scripts/add_helm_repo.sh # kind and kubectl are installed by an action of the workflow parts, as helm/kind-action is a JavaScript action, and a container image has neither preinstalled. - name: Install kind and kubectl - uses: devpro/github-workflow-parts/actions/kind/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de + uses: devpro/github-workflow-parts/actions/kind/setup@99e797d0672c8a4fb39c4174173fa677c00a5d1e # The cluster name carries the run, so two runs on one Docker daemon never share a cluster. - name: Create kind cluster id: create-cluster diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index c30f913..57f668b 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -1,19 +1,12 @@ -# title: Continuous Delivery (Packaging) -# requirements: -# - Create manually "gh-pages" branch -# - Maintain pages files in "gh-pages" branch: index.tpl, placeholder.png -# uses: -# - https://github.com/helm/chart-releaser-action -# - https://github.com/halkeye/helm-repo-html -# - https://github.com/actions/configure-pages - name: PKG +# title: Continuous Delivery (Packaging) +# requirements: a "gh-pages" branch holding index.yaml, with index.tpl and placeholder.png for the index page, and Pages published from GitHub Actions on: push: branches: - main - workflow_dispatch: + workflow_dispatch: {} permissions: contents: write @@ -25,78 +18,8 @@ concurrency: cancel-in-progress: false jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout git repository - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - # ref. https://vitepress.dev/guide/deploy#github-pages - # - name: Install Node.js dependencies - # run: npm install - # - name: Build with VitePress - # run: npm run docs:build - # - name: Upload docs artifact - # uses: actions/upload-artifact@v7 - # with: - # name: docs - # path: docs/.vitepress/dist/ - # ref. https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address - - name: Configure Git - run: | - git config user.name "$GITHUB_ACTOR" - git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - - name: Install Helm - uses: devpro/github-workflow-parts/actions/helm/setup@591b0c7bfba6fbc7b0cab7d896447e0732b819de - - name: Add dependency chart repositories - run: ./scripts/add_helm_repo.sh - - name: Host charts repository on GitHub Pages - uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - # important: it needs to be done in the same pipeline as another pages workflow won't be triggered by the pust on the gh-pages branch - # (tried with a PAT and several options but didn't work) - - name: Checkout gh-pages branch - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - ref: gh-pages - # - uses: actions/download-artifact@v4 - # with: - # name: docs - # path: docs - # A Go of its own rather than the one of the runner image, which changes with it. - - name: Setup Go environment - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 - with: - go-version: "1.27.3" - cache: false - - name: Generate index.html - run: | - go install github.com/halkeye/helm-repo-html@v0.2.1 - "$(go env GOPATH)/bin/helm-repo-html" - - name: Setup Pages - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@44a6e6beabd48582f863aeeb6cb2151cc1716697 # v1.0.13 - with: - source: ./ - destination: ./_site - # - name: Copy docs to website folder - # run: | - # id - # ls -alrt ./_site - # sudo mkdir -p ./_site/docs - # sudo cp -r docs/* ./_site/docs/ - - name: Upload artifact - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 - deploy: - runs-on: ubuntu-latest - needs: build - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1 + helm-publication: + name: Helm + uses: devpro/github-workflow-parts/.github/workflows/reusable-helm-publication.yml@99e797d0672c8a4fb39c4174173fa677c00a5d1e + with: + workflow-parts-version: 99e797d0672c8a4fb39c4174173fa677c00a5d1e