Skip to content

Commit

Permalink
chore(ci): test prepare-cluster on pr (#60)
Browse files Browse the repository at this point in the history
* chore(ci): test prepare-cluster on pr

* f

* f

* f

* f

* f

* f

* f

* f
  • Loading branch information
emosbaugh authored May 17, 2024
1 parent abb0f7e commit 1c6fcd7
Show file tree
Hide file tree
Showing 110 changed files with 343,557 additions and 52,026 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/dist/** -diff
**/dist/** linguist-generated=true
40 changes: 24 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,33 @@
name: CI
name: ci

on: push
on:
pull_request:
branches:
- main

concurrency:
group: ci-${{ github.head_ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the
# added or changed files to the repository.
contents: write

steps:
- uses: actions/checkout@v3

- name: package
run: make package-all
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: readme
run: make readme-all
- name: build
run: make

# Commit all changed files back to the repository (dist and readme files)
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Automated commit of npm build result and updated readme files
- name: fail if files changed
run: |
if ! git diff --quiet --exit-code ; then
echo "Please run 'make package-all' and 'make readme-all' locally and commit the changes."
exit 1
fi
44 changes: 44 additions & 0 deletions .github/workflows/test-create-cluster.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: test - create-cluster

on:
pull_request:
branches:
- main
paths:
- create-cluster/**

concurrency:
group: test-create-cluster-${{ github.head_ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: build
run: make package-create-cluster

- name: test create-cluster
id: create-cluster
uses: ./create-cluster
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
kubernetes-distribution: kind
timeout-minutes: 5

- name: remove cluster
if: always()
uses: replicatedhq/compatibility-actions/remove-cluster@v1
continue-on-error: true # It could be that the cluster is already removed
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
cluster-id: ${{ steps.create-cluster.outputs.cluster-id }}
40 changes: 40 additions & 0 deletions .github/workflows/test-create-customer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: test - create-customer

on:
pull_request:
branches:
- main
paths:
- create-customer/**

concurrency:
group: test-create-customer-${{ github.head_ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
env:
WORDPRESS_CHART_VERSION: 22.2.8

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: build
run: make package-create-customer

- name: test create-customer
id: create-customer
uses: ./create-customer
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: replicated-actions-ci # from the Replicated QA team
customer-name: "CI Test Customer - ${{ github.ref_name }} - ${{ github.sha }}"
customer-email: ${{ github.sha }}@example.com
license-type: test
50 changes: 50 additions & 0 deletions .github/workflows/test-create-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: test - create-release

on:
pull_request:
branches:
- main
paths:
- create-release/**

concurrency:
group: test-create-release-${{ github.head_ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
env:
WORDPRESS_CHART_VERSION: 22.2.8

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: build
run: make package-create-release

- name: pull helm chart
run: |
helm pull oci://registry-1.docker.io/bitnamicharts/wordpress --version ${{ env.WORDPRESS_CHART_VERSION }}
- name: test create-release / helm
id: create-release-helm
uses: ./create-release
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: replicated-actions-ci # from the Replicated QA team
chart: wordpress-${{ env.WORDPRESS_CHART_VERSION }}.tgz

- name: test create-release / kots-install
id: create-release-kots-install
uses: ./create-release
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: replicated-actions-ci # from the Replicated QA team
yaml-dir: ./test/kots-install
83 changes: 83 additions & 0 deletions .github/workflows/test-helm-install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: test - helm-install

on:
pull_request:
branches:
- main
paths:
- helm-install/**

concurrency:
group: test-helm-install-${{ github.head_ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
env:
WORDPRESS_CHART_VERSION: 22.2.8
APP_SLUG: replicated-actions-ci # from the Replicated QA team

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: build
run: make package-helm-install

- name: pull helm chart
run: |
helm pull oci://registry-1.docker.io/bitnamicharts/wordpress --version ${{ env.WORDPRESS_CHART_VERSION }}
- name: create-release
id: create-release
uses: replicatedhq/compatibility-actions/create-release@v1
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: ${{ env.APP_SLUG }}
chart: wordpress-${{ env.WORDPRESS_CHART_VERSION }}.tgz

- name: create-customer
id: create-customer
uses: replicatedhq/compatibility-actions/create-customer@v1
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: replicated-actions-ci # from the Replicated QA team
customer-name: "CI Test Customer - ${{ github.ref_name }} - ${{ github.sha }}"
customer-email: ${{ github.sha }}@example.com
license-type: test

- name: create-cluster
id: create-cluster
uses: replicatedhq/compatibility-actions/create-cluster@v1
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
kubernetes-distribution: kind
timeout-minutes: 5

- name: test helm-install
id: helm-install
uses: ./helm-install
with:
kubeconfig: ${{ steps.create-cluster.outputs.cluster-kubeconfig }}
helm-path: helm
registry-username: ${{ github.ref_name }}@example.com
registry-password: ${{ steps.create-customer.outputs.license-id }}
chart: oci://registry.replicated.com/${{ env.APP_SLUG }}/release__${{ steps.create-release.outputs.release-sequence }}/wordpress
name: wordpress
namespace: default
run-preflights: false

- name: remove cluster
id: remove-cluster
if: always()
uses: replicatedhq/compatibility-actions/remove-cluster@v1
continue-on-error: true # It could be that the cluster is already removed
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
cluster-id: ${{ steps.create-cluster.outputs.cluster-id }}
75 changes: 75 additions & 0 deletions .github/workflows/test-kots-install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: test - kots-install

on:
pull_request:
branches:
- main
paths:
- kots-install/**

concurrency:
group: test-kots-install-${{ github.head_ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
env:
WORDPRESS_CHART_VERSION: 22.2.8
APP_SLUG: replicated-actions-ci # from the Replicated QA team

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
**/package-lock.json
- name: build
run: make package-kots-install

- name: create-release
id: create-release
uses: replicatedhq/compatibility-actions/create-release@v1
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: ${{ env.APP_SLUG }}
yaml-dir: ./test/kots-install

- name: create-customer
id: create-customer
uses: replicatedhq/compatibility-actions/create-customer@v1
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
app-slug: replicated-actions-ci # from the Replicated QA team
customer-name: "CI Test Customer - ${{ github.ref_name }} - ${{ github.sha }}"
customer-email: ${{ github.sha }}@example.com
license-type: test

- name: create-cluster
id: create-cluster
uses: replicatedhq/compatibility-actions/create-cluster@v1
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
kubernetes-distribution: kind
timeout-minutes: 5

- name: test kots-install
id: kots-install
uses: ./kots-install
with:
kubeconfig: ${{ steps.create-cluster.outputs.cluster-kubeconfig }}
app-slug: ${{ env.APP_SLUG }}/${{ steps.create-release.outputs.channel-slug }}
license-file: ${{ steps.create-customer.outputs.license-file }}
app-version-label: release__${{ steps.create-release.outputs.release-sequence }}

- name: remove cluster
id: remove-cluster
if: always()
uses: replicatedhq/compatibility-actions/remove-cluster@v1
continue-on-error: true # It could be that the cluster is already removed
with:
api-token: ${{ secrets.REPLICATED_API_TOKEN }}
cluster-id: ${{ steps.create-cluster.outputs.cluster-id }}
Loading

0 comments on commit 1c6fcd7

Please sign in to comment.