Skip to content

Commit

Permalink
Merge pull request #300 from AmpersandTarski/issue/279-create-github-…
Browse files Browse the repository at this point in the history
…actions-to-generate-docker-images

Issue/279 create GitHub actions to generate docker images
  • Loading branch information
FranSlot committed Aug 4, 2023
2 parents e7f1fce + 095788b commit 5a2d6c6
Show file tree
Hide file tree
Showing 5 changed files with 244 additions and 10 deletions.
74 changes: 74 additions & 0 deletions .github/workflows/Build_to_AKS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Build and Deploy

on:
push:
branches:
- "issue/**"

jobs:
build:
name: Build
runs-on: ubuntu-latest
environment: LocalFranSlot
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./RAP4
file: ./RAP4/Dockerfile
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/rap:latest
${{ secrets.DOCKERHUB_USERNAME }}/rap:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max

deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest
environment: LocalFranSlot
permissions: write-all
steps:
- name: Check out repo
uses: actions/checkout@v3

- name: "Az CLI login"
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

- name: Set AKS context
id: set-context
uses: azure/aks-set-context@v3
with:
resource-group: "${{ vars.RG }}"
cluster-name: "${{ vars.AKSCLUSTER }}"

- name: Setup kubectl
id: install-kubectl
uses: azure/setup-kubectl@v3

- name: Deploy to AKS
id: deploy-aks
uses: Azure/k8s-deploy@v4
with:
namespace: "rap"
manifests: |
deployment/resources/rap-deployment.yaml
images: |
${{ secrets.DOCKERHUB_USERNAME }}/rap:${{ github.sha }}
19 changes: 15 additions & 4 deletions .github/workflows/CICD Pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,41 @@
name: CICD Pipeline
name: CI/CD Pipeline

on:
push:
branches:
- main
- "feature/**"
- "issue/**"
pull_request:
workflow_dispatch:


jobs:

Local:
if: startsWith(github.ref_name, 'feature/')
uses: ./.github/workflows/Deploy_workflow.yml
with:
environment_name: 'Local${{ github.actor }}'
environment_name: "Local${{ github.actor }}"
secrets: inherit

Development:
if: github.ref_name == 'main'
uses: ./.github/workflows/Deploy_workflow.yml
with:
environment_name: Development
secrets: inherit

Staging:
if: github.ref_name == 'main'
needs: Development
uses: ./.github/workflows/Deploy_workflow.yml
with:
environment_name: Staging
secrets: inherit

Production:
if: github.ref_name == 'main'
needs: Staging
uses: ./.github/workflows/Deploy_workflow.yml
with:
environment_name: Production
secrets: inherit
72 changes: 66 additions & 6 deletions .github/workflows/Deploy_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ on:
type: string

jobs:

CheckEnvironment:
environment: '${{ inputs.environment_name }}'
environment: ${{ inputs.environment_name }}
runs-on: ubuntu-latest
outputs:
environment-ok: ${{ steps.my-environment-check.outputs.defined }}
Expand All @@ -27,10 +26,72 @@ jobs:
echo "defined=false" >> $GITHUB_OUTPUT;
fi
CheckRAP4USER:
runs-on: ubuntu-latest
outputs:
hasChanged: ${{ steps.hasChanged.outputs.hasDiff }}
steps:
- uses: actions/checkout@v2
with:
# Checkout as many commits as needed for the diff
fetch-depth: 2
- shell: pwsh
id: hasChanged
run: |
# Diff HEAD with the previous commit
$diff = git diff --name-only HEAD^ HEAD
# Check if a file under RAP4USER/ has changed (added, modified, deleted)
$SourceDiff = $diff | Where-Object { $_ -match '^RAP4USER/' }
$HasDiff = $SourceDiff.Length -gt 0
# Set the output named "hasDiff"
echo "hasDiff=$HasDiff" >> $Env:GITHUB_OUTPUT
Build:
environment: ${{ inputs.environment_name }}
needs: [CheckEnvironment, CheckRAP4USER]
if: ${{ needs.CheckEnvironment.outputs.environment-ok == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Build and push RAP4USER
uses: docker/build-push-action@v4
if: ${{ needs.CheckRAP4USER.outputs.hasChanged == 'True' }}
with:
context: ./RAP4USER
file: ./RAP4USER/Dockerfile
push: true
tags: |
ampersandtarski/rap4-student-prototype:${{ inputs.environment_name }}-latest
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Build and push RAP4
uses: docker/build-push-action@v4
with:
context: ./RAP4
file: ./RAP4/Dockerfile
push: true
tags: |
ampersandtarski/ampersand-rap:${{ inputs.environment_name }}-latest
cache-from: type=gha
cache-to: type=gha,mode=max

Deploy:
environment: '${{ inputs.environment_name }}'
needs: [CheckEnvironment]
if: needs.CheckEnvironment.outputs.environment-ok == 'true'
environment: ${{ inputs.environment_name }}
needs: Build
runs-on: ubuntu-latest
steps:
- name: Echoing variables
Expand All @@ -39,7 +100,6 @@ jobs:
echo Echoing github.ref_name * ${{ github.ref_name }} *
echo Echoing inputs.environment_name * ${{ inputs.environment_name }} *
echo Echoing vars.ENVIRONMENT_NAME * ${{ vars.ENVIRONMENT_NAME }} *
echo Echoing environment-ok * ${{ needs.CheckEnvironment.outputs.environment-ok }} *
- name: Deploy steps
run: |
echo Deploying to ${{ inputs.environment_name }} ...
Expand Down
12 changes: 12 additions & 0 deletions docs/pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# CI/CD Pipeline

To maintain the code and keep the RAP clusters updated a CI/CD pipeline was erected.
It consists of two steps: Build and Deploy.

## Build

During this step the main branch is checked out and a docker image is composed. A new tag is generated and then this image is pushed to the DockerHub repository.

## Deploy

During this step a connection is made with the Azure account running RAP using Open ID Connect (OIDC). After a secure connection is made a new deployment is applied using the newly generated image.
77 changes: 77 additions & 0 deletions docs/preparing-azure.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,83 @@ kubectl config get-contexts
kubectl config use-context 'NAME'
```

## Open ID Connect

To make use of Open ID Connect (OIDC) to allow GitHub Actions to apply new deployments to AKS the following steps are required.

### Requirements

The following permissions are required for registering an app:

- You must have sufficient permissions to register an application with your Azure AD tenant, and assign to the application a role in your Azure subscription. To complete these tasks, you require `Application.ReadWrite.Allpermission`.

### Azure:

1. Login to Azure and set the right subscription

```
az login --tenant <TENANT_NAME>
az account set -n <SUBSCRIPTION_NAME>
```

2. Create an Azure Active Directory Application then get the appId and save it in an environment variable:

```
az ad app create --display-name <APP_NAME>
$appId = $(az ad app list --display-name <APP_NAME> --query "[].appId" -o tsv)
```

3. Create a service principal and save the id

```
az ad sp create --id $appId
$assigneeObjectId = $(az ad sp show --id $appId --query id -o tsv)
```

4. Create a new role assignment

```
az role assignment create --role contributor --subscription $subscriptionId --assignee-object-id $assigneeObjectId --assignee-principal-type ServicePrincipal --scope /subscriptions/$subscriptionId/resourceGroups/<RESOURCE_GROUP_NAME>
```

5. Create federated credentials for the active directory application

```
az ad app federated-credential create --id $appId --parameters credential.json
credential.json
{
"name": "<CREDENTIAL_NAME>",
"issuer": "https://token.actions.githubusercontent.com",
"subject": "<REPOSITORY_REFERENCE>",
"description": "<DESCRIPTION>",
"audiences": [
"api://AzureADTokenExchange"
]
}
```

6. Get the required ids:

```
$appId = $(az ad app list --display-name <APP_NAME> --query "[].appId" -o tsv)
$tenantId = $(az account show --query tenantId -o tsv)
$subscriptionId = $(az account show --query id -o tsv)
```

### GitHub:

1. Go to **Settings** in the GitHub repository

2. Navigate to **Security** > **Secrets and variables** > **Actions**

3. Create and save the following three secrets
| GitHub secret | Copy value from |
| --- | --- |
| AZURE_CLIENT_ID | $appId |
| AZURE_TENANT_ID | $tenantId |
| AZURE_SUBSCRIPTION_ID | $subscriptionId |

## Next

[Deploy Kubernetes](rap-deployment.md)

753 comments on commit 5a2d6c6

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.368 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.024 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.849 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.676 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.564 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.647 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.911 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.087 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.223 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.496 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.925 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 5.483 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.714 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.647 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.418 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 5.654 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.566 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.708 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.482 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
0 1 0 1 0

Failed Tests

Name Message ⏱️ Duration Suite
Should be able to access the Home page Setup failed: WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED (Session info: chrome=114.0.5735.133) Stacktrace: #0 0x564c7f1a30d3 <unknown> #1 0x564c7edf82d8 <unknown> #2 0x564c7edf1623 <unknown> #3 0x564c7ede5e45 <unknown> #4 0x564c7ede7464 <unknown> #5 0x564c7ede63bd <unknown> #6 0x564c7ede524f <unknown> #7 0x564c7ede50e3 <unknown> #8 0x564c7ede4001 <unknown> #9 0x564c7ede442a <unknown> #10 0x564c7edfa8d6 <unknown> #11 0x564c7ee67202 <unknown> #12 0x564c7ee50722 <unknown> #13 0x564c7ee66cf5 <unknown> #14 0x564c7ee504d3 <unknown> #15 0x564c7ee27399 <unknown> #16 0x564c7ee28892 <unknown> #17 0x564c7f173c9f <unknown> #18 0x564c7f1776b5 <unknown> #19 0x564c7f1771a9 <unknown> #20 0x564c7f177b65 <unknown> #21 0x564c7f17def3 <unknown> #22 0x564c7f177eb5 <unknown> #23 0x564c7f14f324 <unknown> #24 0x564c7f1906b8 <unknown> #25 0x564c7f19084b <unknown> #26 0x564c7f19d74f <unknown> #27 0x7ff7c5e497a7 start_thread #28 0x7ff7c5ed0304 __GI___clone 31.514 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.563 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.83 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.665 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.121 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.084 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.851 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.716 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.409 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.059 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.164 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.683 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.589 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.147 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.333 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.432 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.453 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.519 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.558 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.822 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.958 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.074 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.815 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.586 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.556 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.863 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.736 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.5789999999999997 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.128 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.41 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.008 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.64 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.925 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.5540000000000003 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.739 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.623 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.216 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.883 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 3.559 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.718 s RAPLive

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass %
1 0 0 1 100

Passed Tests

Name ⏱️ Duration Suite
Should be able to access the Home page 4.121 s RAPLive

Please sign in to comment.