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:
|
version:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
chart_path:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
extra_dependency_paths:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
secrets:
|
secrets:
|
||||||
GITEA_TOKEN:
|
GITEA_TOKEN:
|
||||||
required: true
|
required: true
|
||||||
@@ -47,6 +53,13 @@ jobs:
|
|||||||
repository: niko/gitea-ci-library
|
repository: niko/gitea-ci-library
|
||||||
path: .ci
|
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
|
- name: Package Helm chart
|
||||||
run: |
|
run: |
|
||||||
CHART_DIR=$(dirname "${CHART_FILE}")
|
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ä |
|
| `env_json` | Kyllä | Konffi `gitea-env.conf`:stä |
|
||||||
| `version` | Kyllä | Version string (check-version output) |
|
| `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:**
|
**`env_json`-avaimet:**
|
||||||
|
|
||||||
@@ -124,9 +125,10 @@ build-push (helm package → helm push OCI) → tag-commit (git-tagin luonti)
|
|||||||
**Steppien kuvaus `build-push`-jobissa:**
|
**Steppien kuvaus `build-push`-jobissa:**
|
||||||
1. **Node.js-asennus** — `apk add --no-cache nodejs` (vaaditaan `actions/checkout`-actionia varten)
|
1. **Node.js-asennus** — `apk add --no-cache nodejs` (vaaditaan `actions/checkout`-actionia varten)
|
||||||
2. **Checkout** — sovellusrepo ja gitea-ci-library `.ci/`-polkuun
|
2. **Checkout** — sovellusrepo ja gitea-ci-library `.ci/`-polkuun
|
||||||
3. **Package** — `helm package` versiolla `$VERSION`
|
3. **Resolve extra subchart dependencies** — `helm dependency update` jokaiselle `extra_dependency_paths`-polulle (vain jos input on annettu)
|
||||||
4. **Push OCI** — `helm push` registryyn autentikoinnilla
|
4. **Package** — `helm dependency update` + `helm package` versiolla `$VERSION`
|
||||||
5. **Report status** — commit-status + UI-linkki
|
5. **Push OCI** — `helm push` registryyn autentikoinnilla
|
||||||
|
6. **Report status** — commit-status + UI-linkki
|
||||||
|
|
||||||
**Kompromissi:** Kontti `alpine/helm` ei sisällä node.js:ää, mutta
|
**Kompromissi:** Kontti `alpine/helm` ei sisällä node.js:ää, mutta
|
||||||
`actions/checkout@v4` on JavaScript-action ja vaatii sen. Siksi nodejs
|
`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
|
```yaml
|
||||||
HELM_REGISTRY: gitea.app.keskikuja.site/niko
|
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ä:**
|
**Käyttö reitittimessä:**
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -382,11 +391,19 @@ helm-build-push:
|
|||||||
with:
|
with:
|
||||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||||
version: ${{ needs.check-version.outputs.version }}
|
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}"`.
|
`chart_path` on eksplisiittinen polku chart-hakemistoon (esim. `platform-helm`).
|
||||||
Jos `VERSION_FILE` on `Chart.yaml`, konteksti on juuri. Jos `platform-helm/Chart.yaml`,
|
`VERSION_FILE` määrää version lähteen (`Chart.yaml:n` `version`-kenttä) —
|
||||||
konteksti on `platform-helm/`.
|
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
|
**Yksittäisten Helm-UI-linkkien raportointi:** `HELM_UI_URL` on
|
||||||
tarkoitettu yleiselle registry UI:lle — provider muodostaa linkin
|
tarkoitettu yleiselle registry UI:lle — provider muodostaa linkin
|
||||||
|
|||||||
Reference in New Issue
Block a user