1+ name : Deployment Test on ECMWF
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ os-external-network-name :
7+ required : true
8+ default : ' external-internet'
9+
10+ os-private-network-name :
11+ required : true
12+ default : ' private-cci1-ewcloud-eumetsat-ewc-communityhub'
13+
14+ os-security-group-name :
15+ required : true
16+ default : ' ssh'
17+
18+ os-keypair-name :
19+ required : true
20+ default : ' github-keypair'
21+
22+ os-flavor-name :
23+ required : true
24+ default : ' 8cpu-16gbmem-80gbdisk'
25+
26+ os-image-name :
27+ required : true
28+ default : ' ubuntu-24.04-20250604102601'
29+
30+ instance-name-prefix :
31+ required : true
32+ default : ' github'
33+
34+ ansible-user :
35+ required : true
36+ default : ' ubuntu'
37+
38+ path-to-main-file :
39+ required : true
40+ default : ' playbooks/ecmwf-data-flavour/ecmwf-data-flavour.yml'
41+
42+ path-to-requirements-file :
43+ required : false
44+ default : ' requirements.yml'
45+
46+ input-spec-json :
47+ required : false
48+ default : ' {"reboot_if_required":"false","ecmwf_toolbox_env_wipe":"false","ecmwf_toolbox_env_name":"ecmwf-toolbox","ecmwf_toolbox_create_ipykernel":"true","conda_prefix":"/opt/conda","conda_user":"root"}'
49+
50+ permissions :
51+ contents : read
52+ actions : write
53+
54+ jobs :
55+ deploy-test :
56+ runs-on : ubuntu-latest
57+ timeout-minutes : 30
58+ steps :
59+ - name : Checkout code
60+ uses : actions/checkout@v4
61+
62+ - name : Test deployment
63+ uses : ewcloud/ewc-gh-action-test-deploy-ansible-playbook@v1
64+ with :
65+ os-auth-url : ' ${{ secrets.ECMWF_OS_AUTH_URL }}'
66+ os-region-name : ' ${{ secrets.ECMWF_OS_REGION_NAME }}'
67+ os-application-credential-id : ' ${{ secrets.ECMWF_OS_APPLICATION_CREDENTIAL_ID }}'
68+ os-application-credential-secret : ' ${{ secrets.ECMWF_OS_APPLICATION_CREDENTIAL_SECRET }}'
69+ os-external-network-name : ' ${{ inputs.os-external-network-name }}'
70+ os-private-network-name : ' ${{ inputs.os-private-network-name }}'
71+ os-security-group-name : ' ${{ inputs.os-security-group-name }}'
72+ os-keypair-name : ' ${{ inputs.os-keypair-name }}'
73+ os-flavor-name : ' ${{ inputs.os-flavor-name }}'
74+ os-image-name : ' ${{ inputs.os-image-name }}'
75+ instance-name-prefix : ' ${{ inputs.instance-name-prefix }}'
76+ ansible-ssh-private-key : ' ${{ secrets.ANSIBLE_SSH_PRIVATE_KEY }}'
77+ ansible-user : ' ${{ inputs.ansible-user }}'
78+ path-to-main-file : ' ${{ inputs.path-to-main-file }}'
79+ path-to-requirements-file : ' ${{ inputs.path-to-requirements-file }}'
80+ input-spec-json : ' ${{ inputs.input-spec-json }}'
81+
82+ - name : Upload Build Artifacts
83+ uses : actions/upload-artifact@v4
84+ with :
85+ name : workspace_artifacts
86+ path : ${{ github.workspace }}/artifacts
0 commit comments