extra deps for chart build
CI Feature / Load example-gitea-env.conf to pipeline env (push) Successful in 30s
unit-tests Bats test report
CI Feature / Bats tests (push) Successful in 1m35s
acc-tests Cucumber test report
CI Feature / Cucumber tests (push) Successful in 1m55s
CI Feature / Report Summary (push) Successful in 6s
CI Feature / Load example-gitea-env.conf to pipeline env (push) Successful in 30s
unit-tests Bats test report
CI Feature / Bats tests (push) Successful in 1m35s
acc-tests Cucumber test report
CI Feature / Cucumber tests (push) Successful in 1m55s
CI Feature / Report Summary (push) Successful in 6s
This commit is contained in:
@@ -8,6 +8,12 @@ on:
|
||||
version:
|
||||
required: true
|
||||
type: string
|
||||
chart_path:
|
||||
required: true
|
||||
type: string
|
||||
extra_dependency_paths:
|
||||
required: false
|
||||
type: string
|
||||
secrets:
|
||||
GITEA_TOKEN:
|
||||
required: true
|
||||
@@ -47,6 +53,13 @@ jobs:
|
||||
repository: niko/gitea-ci-library
|
||||
path: .ci
|
||||
|
||||
- name: Resolve extra subchart dependencies
|
||||
if: inputs.extra_dependency_paths != ''
|
||||
run: |
|
||||
for path in $(echo "${{ inputs.extra_dependency_paths }}" | tr ',' '\n'); do
|
||||
helm dependency update "${path}"
|
||||
done
|
||||
|
||||
- name: Package Helm chart
|
||||
run: |
|
||||
CHART_DIR=$(dirname "${CHART_FILE}")
|
||||
|
||||
+6
-4
@@ -103,7 +103,8 @@ joten `actions/checkout` toimii ilman node-asennuksia.
|
||||
|-----------|------------|--------|
|
||||
| `env_json` | Kyllä | Konffi `gitea-env.conf`:stä |
|
||||
| `version` | Kyllä | Version string (check-version output) |
|
||||
| `chart_path` | Ei | Polku Chart.yaml-hakemistoon, oletus `.` |
|
||||
| `chart_path` | Kyllä | Polku Chart.yaml-hakemistoon |
|
||||
| `extra_dependency_paths` | Ei | Pilkulla erotellut polut subcharttien dependeinceille, joille ajetaan `helm dependency update` ennen päächartin buildia |
|
||||
|
||||
**`env_json`-avaimet:**
|
||||
|
||||
@@ -124,9 +125,10 @@ build-push (helm package → helm push OCI) → tag-commit (git-tagin luonti)
|
||||
**Steppien kuvaus `build-push`-jobissa:**
|
||||
1. **Node.js-asennus** — `apk add --no-cache nodejs` (vaaditaan `actions/checkout`-actionia varten)
|
||||
2. **Checkout** — sovellusrepo ja gitea-ci-library `.ci/`-polkuun
|
||||
3. **Package** — `helm package` versiolla `$VERSION`
|
||||
4. **Push OCI** — `helm push` registryyn autentikoinnilla
|
||||
5. **Report status** — commit-status + UI-linkki
|
||||
3. **Resolve extra subchart dependencies** — `helm dependency update` jokaiselle `extra_dependency_paths`-polulle (vain jos input on annettu)
|
||||
4. **Package** — `helm dependency update` + `helm package` versiolla `$VERSION`
|
||||
5. **Push OCI** — `helm push` registryyn autentikoinnilla
|
||||
6. **Report status** — commit-status + UI-linkki
|
||||
|
||||
**Kompromissi:** Kontti `alpine/helm` ei sisällä node.js:ää, mutta
|
||||
`actions/checkout@v4` on JavaScript-action ja vaatii sen. Siksi nodejs
|
||||
|
||||
@@ -368,9 +368,18 @@ Pakkaa ja pushee Helm-chartin OCI-registryyn. Käyttää `alpine/helm`-konttia.
|
||||
|
||||
```yaml
|
||||
HELM_REGISTRY: gitea.app.keskikuja.site/niko
|
||||
VERSION_FILE: platform-helm/Chart.yaml # chart-hakemisto + versionlähde
|
||||
VERSION_FILE: platform-helm/Chart.yaml # versionlähde, chart_path määrää chart-hakemiston
|
||||
```
|
||||
|
||||
**Inputit:**
|
||||
|
||||
| Parametri | Pakollinen | Kuvaus |
|
||||
|-----------|------------|--------|
|
||||
| `env_json` | Kyllä | Konffi `gitea-env.conf`:stä |
|
||||
| `version` | Kyllä | Version string (check-version output) |
|
||||
| `chart_path` | Kyllä | Polku Chart.yaml-hakemistoon (esim. `platform-helm`) |
|
||||
| `extra_dependency_paths` | Ei | Pilkulla erotellut polut subcharttien dependeinceille |
|
||||
|
||||
**Käyttö reitittimessä:**
|
||||
|
||||
```yaml
|
||||
@@ -382,11 +391,19 @@ helm-build-push:
|
||||
with:
|
||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||
version: ${{ needs.check-version.outputs.version }}
|
||||
chart_path: platform-helm
|
||||
# extra_dependency_paths: subchart-a,subchart-b # tarvittaessa
|
||||
```
|
||||
|
||||
Chart-hakemisto johdetaan `VERSION_FILE`-polusta: `dirname "${VERSION_FILE}"`.
|
||||
Jos `VERSION_FILE` on `Chart.yaml`, konteksti on juuri. Jos `platform-helm/Chart.yaml`,
|
||||
konteksti on `platform-helm/`.
|
||||
`chart_path` on eksplisiittinen polku chart-hakemistoon (esim. `platform-helm`).
|
||||
`VERSION_FILE` määrää version lähteen (`Chart.yaml:n` `version`-kenttä) —
|
||||
nämä voivat olla eri polkuja, mutta tyypillisesti molemmat osoittavat samaan
|
||||
chart-hakemistoon.
|
||||
|
||||
**`extra_dependency_paths`:** Jos chartilla on alikarttoja (subchartteja) jotka
|
||||
vaativat `helm dependency update` -ajon ennen päächartin buildia, anna niiden
|
||||
polut pilkulla eroteltuna. Provider ajaa `helm dependency update` jokaiselle
|
||||
polulle ennen päächartin buildia.
|
||||
|
||||
**Yksittäisten Helm-UI-linkkien raportointi:** `HELM_UI_URL` on
|
||||
tarkoitettu yleiselle registry UI:lle — provider muodostaa linkin
|
||||
|
||||
Reference in New Issue
Block a user