Skip to content

Commit c71e9a1

Browse files
author
Craig O'Donnell
committed
wip: always generate kurl installer
1 parent 9821e62 commit c71e9a1

File tree

2 files changed

+91
-20
lines changed

2 files changed

+91
-20
lines changed

.github/actions/kurl-addon-kots-generate/action.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ inputs:
2121
type: string
2222
description: "S3 key prefix."
2323
outputs:
24+
s3_uri:
25+
description: "S3 URI"
26+
value: ${{ steps.s3-upload.outputs.s3_uri }}
2427
addon_package_url:
2528
description: "S3 package url"
2629
value: ${{ steps.s3-upload.outputs.addon_package_url }}
@@ -73,5 +76,7 @@ runs:
7376
shell: bash
7477
run: |
7578
out=${{ inputs.s3_prefix }}kotsadm-${{ inputs.addon_version }}-${GITHUB_SHA:0:7}.tar.gz
76-
aws s3 cp kotsadm-${{ inputs.addon_version }}.tar.gz s3://kots-kurl-addons-production-1658439274/$out
79+
s3_uri=s3://kots-kurl-addons-production-1658439274/$out
80+
echo "s3_uri=$s3_uri" >> "$GITHUB_OUTPUT"
81+
aws s3 cp kotsadm-${{ inputs.addon_version }}.tar.gz $s3_uri
7782
echo "addon_package_url=https://kots-kurl-addons-production-1658439274.s3.amazonaws.com/$out" >> "$GITHUB_OUTPUT"

.github/workflows/build-test.yaml

Lines changed: 85 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -537,25 +537,12 @@ jobs:
537537
docker push ttl.sh/automated-${{ github.run_id }}/dex:${{ steps.dotenv.outputs.DEX_TAG }}
538538
539539
540-
# only run validate-kurl-addon if changes to "deploy/kurl/kotsadm/template/**"
541-
kurl-addon-changes-filter:
540+
generate-kurl-addon:
542541
runs-on: ubuntu-20.04
543-
needs: [ can-run-ci, enable-tests ]
542+
needs: [ can-run-ci, enable-tests, generate-tag, build-kots, build-push-kotsadm-image, build-kurl-proxy, build-migrations, push-dex ]
544543
outputs:
545-
ok-to-test: ${{ steps.filter.outputs.kurl-addon }}
546-
steps:
547-
- uses: actions/checkout@v3
548-
- uses: dorny/paths-filter@v2
549-
id: filter
550-
with:
551-
filters: |
552-
kurl-addon:
553-
- 'deploy/kurl/kotsadm/template/**'
554-
- 'deploy/kurl/kotsadm/testgrid-os-spec.yaml'
555-
validate-kurl-addon:
556-
runs-on: ubuntu-20.04
557-
if: ${{ needs.kurl-addon-changes-filter.outputs.ok-to-test == 'true' }}
558-
needs: [ can-run-ci, enable-tests, generate-tag, kurl-addon-changes-filter, build-kots, build-push-kotsadm-image, build-kurl-proxy, build-migrations, push-dex ]
544+
addon_version: ${{ steps.vars.outputs.addon_version }}
545+
addon_package_url: ${{ steps.addon-generate.outputs.addon_package_url }}
559546
steps:
560547
- name: checkout
561548
uses: actions/checkout@v3
@@ -586,12 +573,34 @@ jobs:
586573
kotsadm_image_namespace: automated-${{ github.run_id }}
587574
kotsadm_image_tag: 24h
588575
kotsadm_binary_override: bin/kots.tar.gz
576+
# only run validate-kurl-addon if changes to "deploy/kurl/kotsadm/template/**"
577+
kurl-addon-changes-filter:
578+
runs-on: ubuntu-20.04
579+
needs: [ can-run-ci, enable-tests ]
580+
outputs:
581+
ok-to-test: ${{ steps.filter.outputs.kurl-addon }}
582+
steps:
583+
- uses: actions/checkout@v3
584+
- uses: dorny/paths-filter@v2
585+
id: filter
586+
with:
587+
filters: |
588+
kurl-addon:
589+
- 'deploy/kurl/kotsadm/template/**'
590+
- 'deploy/kurl/kotsadm/testgrid-os-spec.yaml'
591+
validate-kurl-addon:
592+
runs-on: ubuntu-20.04
593+
if: ${{ needs.kurl-addon-changes-filter.outputs.ok-to-test == 'true' }}
594+
needs: [ can-run-ci, enable-tests, kurl-addon-changes-filter, generate-kurl-addon ]
595+
steps:
596+
- name: checkout
597+
uses: actions/checkout@v3
589598
- name: test kurl add-on
590599
id: addon-test
591600
uses: ./.github/actions/kurl-addon-kots-test
592601
with:
593-
addon_version: ${{ steps.vars.outputs.addon_version }}
594-
addon_package_url: ${{ steps.addon-generate.outputs.addon_package_url }}
602+
addon_version: ${{ needs.generate-kurl-addon.outputs.addon_version }}
603+
addon_package_url: ${{ needs.generate-kurl-addon.outputs.addon_package_url }}
595604
testgrid_api_token: ${{ secrets.TESTGRID_PROD_API_TOKEN }}
596605
- name: comment testgrid url
597606
uses: mshick/add-pr-comment@v2
@@ -600,6 +609,63 @@ jobs:
600609
repo-token: ${{ secrets.GITHUB_TOKEN }}
601610
allow-repeats: false
602611

612+
613+
create-kurl-installer:
614+
runs-on: ubuntu-20.04
615+
needs: [ can-run-ci, enable-tests, generate-kurl-addon ]
616+
steps:
617+
- uses: actions/checkout@v3
618+
with:
619+
fetch-depth: 0
620+
- name: create installer
621+
id: create-installer
622+
run: |
623+
set +e
624+
625+
echo "apiVersion: cluster.kurl.sh/v1beta1
626+
kind: Installer
627+
metadata:
628+
name: kots-ci-installer
629+
spec:
630+
kubernetes:
631+
version: 1.28.x
632+
flannel:
633+
version: latest
634+
minio:
635+
version: latest
636+
openebs:
637+
version: latest
638+
isLocalPVEnabled: true
639+
localPVStorageClassName: default
640+
isCstorEnabled: false
641+
contour:
642+
version: latest
643+
containerd:
644+
version: latest
645+
registry:
646+
version: latest
647+
kotsadm:
648+
version: ${{ needs.generate-kurl-addon.outputs.addon_version }}
649+
s3Override: ${{ needs.generate-kurl-addon.outputs.addon_package_url }}
650+
ekco:
651+
version: latest
652+
enableInternalLoadBalancer: true" > installer.yaml
653+
654+
installer_url=$(curl -s -X POST https://k8s.kurl.sh/installer -H 'Content-Type: text/yaml' --data-binary @installer.yaml)
655+
installer_id=${installer_url#"https://kurl.sh/"}
656+
echo "installer_id=$installer_id" >> $GITHUB_OUTPUT
657+
outputs:
658+
installer_id: ${{ steps.create-installer.outputs.installer_id }}
659+
660+
661+
echo-kurl-installer-id:
662+
runs-on: ubuntu-20.04
663+
needs: [ can-run-ci, enable-tests, create-kurl-installer ]
664+
steps:
665+
- name: echo installer id
666+
run: |
667+
echo "installer_id=${{ needs.create-kurl-installer.outputs.installer_id }}"
668+
603669
604670
cmx-versions:
605671
runs-on: ubuntu-20.04

0 commit comments

Comments
 (0)