diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ca15143..6243b34 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,80 +1,34 @@
-# Copyright 2020 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-name: "Continuous Integration"
+# file: .github/workflows/preview.yaml
on:
- push:
- # run on pushes to master or release/*
- branches:
- - master
- - release/*
pull_request:
- # run on pull requests targeting master
branches:
- master
+
jobs:
- run-tests:
- runs-on: self-hosted
+ preview:
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - name: License Check
- run: |
- set -x
- git init
- git add --all
- git -c user.name="CI Bot" -c user.email="<>" commit -m "initial state"
- addlicense ./
- test -z $(git diff --name-only | tee /dev/stderr)
- - name: Setup Cluster
- run: |
- set -x
- kind delete cluster || true
- kind create cluster
- kubectl get nodes
- - name: Deploy From Source
- run: |
- skaffold config set --global local-cluster true
- skaffold run --default-repo local
- - name: Wait For Pods
- timeout-minutes: 20
- run: |
- set -x
- kubectl wait --for=condition=available --timeout=500s deployment/adservice
- kubectl wait --for=condition=available --timeout=500s deployment/cartservice
- kubectl wait --for=condition=available --timeout=500s deployment/checkoutservice
- kubectl wait --for=condition=available --timeout=500s deployment/currencyservice
- kubectl wait --for=condition=available --timeout=500s deployment/emailservice
- kubectl wait --for=condition=available --timeout=500s deployment/frontend
- kubectl wait --for=condition=available --timeout=500s deployment/loadgenerator
- kubectl wait --for=condition=available --timeout=500s deployment/paymentservice
- kubectl wait --for=condition=available --timeout=500s deployment/productcatalogservice
- kubectl wait --for=condition=available --timeout=500s deployment/recommendationservice
- kubectl wait --for=condition=available --timeout=500s deployment/shippingservice
- - name: Smoke Test
- timeout-minutes: 5
- run: |
- set -x
- # start fresh loadgenerator pod
- kubectl delete pod -l app=loadgenerator
- # wait for requests to come in
- REQUEST_COUNT="0"
- while [[ "$REQUEST_COUNT" -lt "50" ]]; do
- sleep 5
- REQUEST_COUNT=$(kubectl logs -l app=loadgenerator | grep Aggregated | awk '{print $2}')
- done
- # ensure there are no errors hitting endpoints
- ERROR_COUNT=$(kubectl logs -l app=loadgenerator | grep Aggregated | awk '{print $3}' | sed "s/[(][^)]*[)]//g")
- if [[ "$ERROR_COUNT" -gt "0" ]]; then
- exit 1
- fi
+ - name: checkout
+ uses: actions/checkout@master
+
+ - name: Login
+ uses: okteto/login@master
+ with:
+ token: ${{ secrets.OKTETO_TOKEN }}
+
+ - name: Create namespace
+ uses: okteto/create-namespace@master
+ with:
+ namespace: pr-${{ github.event.number }}
+
+ - name: Deploy Application
+ uses: okteto/pipeline@master
+ with:
+ name: pr-${{ github.event.number }}
+
+ - name: comment PR
+ uses: unsplash/comment-on-pr@master
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ msg: "Preview environment available at https://frontend-pr-${{ github.event.number }}.sf.okteto.net"
\ No newline at end of file
diff --git a/README.md b/README.md
index 358f868..db8c05c 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,11 @@
+
+
+
+