Merge branch 'LIMA-24853-upload-source-code' of github.com:Dynatrace/… #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build easytrade on master | |
on: | |
push: | |
branches: | |
- "*" | |
- "!master" | |
# paths: | |
# - src/** | |
# - skaffold.yaml | |
env: | |
GAR_ADDRESS: europe-docker.pkg.dev | |
NAMESPACE: easytrade | |
SKAFFOLD_DEFAULT_REPO: europe-docker.pkg.dev/dynatrace-demoability/docker/easytrade | |
SKAFFOLD_VERSION: 2.13.2 | |
jobs: | |
build-easytrade: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Retrieve gar credentials | |
run: | | |
echo "${{ secrets.GAR_CREDENTIALS }}" | docker login -u _json_key_base64 --password-stdin "${{ env.GAR_ADDRESS }}" | |
- name: Set application version | |
uses: ./.github/actions/set-version | |
with: | |
version: 1.2.${{ github.run_number }} | |
- name: "Build easytrade and push it to Docker registry with commit tag" | |
uses: hiberbee/[email protected] | |
with: | |
command: build | |
push: true | |
skaffold-version: ${{ env.SKAFFOLD_VERSION }} | |
- name: "Build easytrade and push it to Docker registry with latest tag" | |
uses: hiberbee/[email protected] | |
with: | |
command: build | |
tag: latest | |
push: true | |
skaffold-version: ${{ env.SKAFFOLD_VERSION }} | |
deploy-easytrade: | |
runs-on: ubuntu-24.04 | |
needs: build-easytrade | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Retrieve kubeconfig | |
run: | | |
mkdir ~/.kube | |
echo "${{ secrets.KUBECONFIG }}" > ~/.kube/config | |
- name: Checkout infrastructure repo | |
uses: actions/checkout@v4 | |
with: | |
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
repository: dynatrace/easytrade-infrastructure | |
path: easytrade-infrastructure | |
sparse-checkout: kubernetes-manifests | |
- name: Export short commit SHA | |
run: echo "COMMIT_SHA_SHORT=$(echo $GITHUB_SHA | cut -c 1-7)" >> $GITHUB_ENV | |
- name: Deploy easytrade | |
uses: hiberbee/[email protected] | |
with: | |
command: deploy | |
tag: ${{ env.COMMIT_SHA_SHORT }} | |
namespace: ${{ env.NAMESPACE }} | |
profile: aws-staging | |
run-tests: | |
runs-on: ubuntu-24.04 | |
needs: deploy-easytrade | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Retrieve kubeconfig | |
run: | | |
mkdir ~/.kube | |
echo "${{ secrets.KUBECONFIG }}" > ~/.kube/config | |
- name: Enable test environment | |
run: | | |
kubectl -n ${{ env.NAMESPACE }} set env deployment/credit-card-order-service WORK_DELAY=10 WORK_RATE=10 | |
kubectl -n ${{ env.NAMESPACE }} set env deployment/third-party-service COURIER_DELAY=10 COURIER_RATE=10 MANUFACTURE_DELAY=10 MANUFACTURE_RATE=10 | |
- name: Wait 3 minutes | |
run: sleep 3m | |
- name: Order credit card | |
uses: ./.github/actions/order-credit-card | |
with: | |
namespace: ${{ env.NAMESPACE }} | |
- name: Wait 12 minutes | |
run: sleep 12m | |
- name: Check credit card order | |
uses: ./.github/actions/check-credit-card-order | |
with: | |
namespace: ${{ env.NAMESPACE }} | |
- name: Run validation | |
uses: ./.github/actions/run-validation | |
with: | |
client_id: ${{ secrets.OQR_CLIENT_ID }} | |
client_secret: ${{ secrets.OQR_CLIENT_SECRET }} | |
sso_url: ${{ secrets.SSO_URL }} | |
tenant_url: ${{ secrets.OQR_URL }} | |
- name: Disable test environment | |
run: | | |
kubectl -n ${{ env.NAMESPACE }} rollout undo deployment/credit-card-order-service deployment/third-party-service |