forked from actions/javascript-action
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
73 lines (70 loc) · 2.59 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: 'insta-integration - Integration Testing'
description: 'Automatically run integration tests for any application or job'
author: 'Data Catering'
branding:
icon: 'check-square'
color: 'green'
# Define your inputs here.
inputs:
configuration_file:
description: 'File path to configuration file.'
default: 'insta-integration.yaml'
insta_infra_folder:
description: 'Folder path to insta-infra.'
default: 'integration-test/insta-infra'
base_folder:
description: 'Folder path to use for execution files.'
default: '/home/runner/work'
data_caterer_version:
description: 'Version of data-caterer Docker image'
default: '0.12.1'
# Define your outputs here.
outputs:
num_records_generated:
value: ${{ steps.insta-integration.outputs.num_records_generated }}
description: 'Total number of records generated.'
num_success_validations:
value: ${{ steps.insta-integration.outputs.num_success_validations }}
description: 'Total number of successful validations.'
num_failed_validations:
value: ${{ steps.insta-integration.outputs.num_failed_validations }}
description: 'Total number of failed validations.'
num_validations:
value: ${{ steps.insta-integration.outputs.num_validations }}
description: 'Total number of validations.'
validation_success_rate:
value: ${{ steps.insta-integration.outputs.validation_success_rate }}
description: 'Success rate of validations (i.e. 0.75 = 75% success rate).'
full_result:
value: ${{ steps.insta-integration.outputs.full_result }}
description: 'All details about data generation and validation results.'
runs:
using: 'composite'
steps:
- name: 'Checkout insta-infra repo'
uses: 'actions/checkout@v4'
with:
repository: 'data-catering/insta-infra'
path: '${{ inputs.insta_infra_folder }}'
- name: 'Cache Docker images'
id: 'docker-cache'
uses: 'ScribeMD/[email protected]'
with:
key:
docker-${{ runner.os }}-${{
hashFiles(format('{0}/docker-compose.yaml',
inputs.insta_infra_folder)) }}
- uses: 'actions/setup-node@v4'
with:
node-version: '20.x'
- name: 'Run integration tests'
shell: 'bash'
run: 'node ${{github.action_path}}/dist/index.js'
id: 'insta-integration'
env:
CONFIGURATION_FILE:
'${{ github.workspace }}/${{ inputs.configuration_file }}'
INSTA_INFRA_FOLDER:
'${{ github.workspace }}/${{ inputs.insta_infra_folder }}'
BASE_FOLDER: '${{ github.workspace }}'
DATA_CATERER_VERSION: '${{ inputs.data_caterer_version }}'