Skip to content

Deployment Test on EUMETSAT #2

Deployment Test on EUMETSAT

Deployment Test on EUMETSAT #2

Workflow file for this run

name: Deployment Test on EUMETSAT
on:
workflow_dispatch:
inputs:
osExternalNetworkName:
required: true
default: 'external'
osPrivateNetworkName:
required: true
default: 'private'
osSecurityGroupName:
required: true
default: 'ssh'
osKeypairName:
required: true
default: 'github-keypair'
osFlavorName:
required: true
default: 'eo1.large'
osImageName:
required: true
default: 'ubuntu-24.04-20250604102601'
instanceNamePrefix:
required: true
default: 'github'
pythonVersion:
required: true
default: '3.9.25'
ansibleVersion:
required: true
default: '8.7.0'
ansibleUser:
required: true
default: 'ubuntu'
pathToMainFile:
required: true
default: 'playbooks/ecmwf-data-flavour/ecmwf-data-flavour.yml'
pathToRequirementsFile:
required: false
inputSpecJson:
required: false
permissions:
contents: read
actions: write
jobs:
deploy-test:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Test deployment
id: test-deployment
uses: ewcloud/ewc-gh-action-test-deploy-ansible-playbook@v2
with:
osAuthUrl: '${{ secrets.EUMETSAT_OS_AUTH_URL }}'
osRegionName: '${{ secrets.EUMETSAT_OS_REGION_NAME }}'
osApplicationCredentialId: '${{ secrets.EUMETSAT_OS_APPLICATION_CREDENTIAL_ID }}'
osApplicationCredentialSecret: '${{ secrets.EUMETSAT_OS_APPLICATION_CREDENTIAL_SECRET }}'
osExternalNetworkName: '${{ inputs.osExternalNetworkName }}'
osPrivateNetworkName: '${{ inputs.osPrivateNetworkName }}'
osSecurityGroupName: '${{ inputs.osSecurityGroupName }}'
osKeypairName: '${{ inputs.osKeypairName }}'
osFlavorName: '${{ inputs.osFlavorName }}'
osImageName: '${{ inputs.osImageName }}'
instanceNamePrefix: '${{ inputs.instanceNamePrefix }}'
ansibleSshPrivateKey: '${{ secrets.EUMETSAT_ANSIBLE_SSH_PRIVATE_KEY }}'
pythonVersion: '${{ inputs.pythonVersion }}'
ansibleVersion: '${{ inputs.ansibleVersion }}'
ansibleUser: '${{ inputs.ansibleUser }}'
pathToMainFile: '${{ inputs.pathToMainFile }}'
pathToRequirementsFile: '${{ inputs.pathToRequirementsFile }}'
inputSpecJson: '${{ inputs.inputSpecJson }}'
- name: Upload test deployment results
uses: actions/upload-artifact@v4
with:
name: artifacts_${{ github.run_id }}
path: ${{ steps.test-deployment.outputs.artifactPath }}