Night #202
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
# GitHub runner does not support IPv6. | |
# See https://github.com/actions/runner-images/issues/668 | |
# We dot not introduce one big "vintner-case-study" action due to better logging.defaults: | |
# See https://github.com/orgs/community/discussions/21276 | |
name: Night | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '20 4 * * 2' | |
push: | |
branches: | |
- fix-night-workflow | |
concurrency: night | |
jobs: | |
################################################### | |
# | |
# General | |
# | |
################################################### | |
general: | |
name: General | |
runs-on: ubuntu-22.04 | |
steps: | |
################################################### | |
# | |
# Prepare | |
# | |
################################################### | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
################################################### | |
# | |
# Binary | |
# | |
################################################### | |
- name: (BINARY) Verify checksum | |
run: | | |
wget https://github.com/opentosca/opentosca-vintner/releases/download/latest/vintner-linux-x64.sha256 | |
cp /usr/bin/vintner vintner-linux-x64 | |
sha256sum --check vintner-linux-x64.sha256 | |
rm vintner-linux-x64 | |
rm vintner-linux-x64.sha256 | |
- name: (BINARY) Verify signature | |
run: | | |
curl https://vintner.opentosca.org/vintner-release.gpg | gpg --import | |
wget https://github.com/opentosca/opentosca-vintner/releases/download/latest/vintner-linux-x64.asc | |
cp /usr/bin/vintner vintner-linux-x64 | |
gpg --verify vintner-linux-x64.asc | |
rm vintner-linux-x64.asc | |
- name: (BINARY) Ensure that version is overridden | |
run: | | |
vintner --version | |
if [ "$(vintner --version)" == "__VERSION__" ]; then | |
exit 1 | |
fi | |
- name: (BINARY) Ensure that license is overridden | |
run: | | |
vintner info license | |
if [ "$(vintner info license)" == "$(cat src/assets/LICENSE)" ]; then | |
exit 1 | |
fi | |
- name: (BINARY) Ensure that dependencies are overridden | |
run: | | |
vintner info dependencies | |
if [ "$(vintner info dependencies)" == "$(cat src/assets/dependencies.csv)" ]; then | |
exit 1 | |
fi | |
- name: (BINARY) Test filesystem initialization | |
run: vintner setup init | |
- name: (BINARY) Test resolver | |
run: vintner setup benchmark --seeds 10 250 | |
################################################### | |
# | |
# Docker | |
# | |
################################################### | |
- name: (DOCKER) Start Docker container | |
run: | | |
docker run --detach --name vintner ghcr.io/opentosca/opentosca-vintner:latest | |
sleep 2 | |
docker logs vintner | |
- name: (DOCKER) Ensure Vintner can be executed | |
run: docker exec vintner vintner --version | |
- name: (DOCKER) Ensure Vintner can be executed | |
run: | | |
DOCKER_VERSION=$(docker exec vintner vintner --version) | |
echo "Docker version: $DOCKER_VERSION}" | |
BINARY_VERSION=$(vintner --version) | |
echo "Binary version: ${BINARY_VERSION}" | |
if [ ${DOCKER_VERSION} != ${BINARY_VERSION} ]; then | |
echo "Versions do not match" | |
exit 1 | |
fi | |
- name: (DOCKER) Stop Docker container | |
run: docker kill vintner | |
################################################### | |
# | |
# xOpera Motivation Development | |
# | |
################################################### | |
xopera-motivation-dev: | |
name: xOpera Motivation Dev | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: xopera | |
EXAMPLE: xopera-motivation | |
PRESET: dev | |
ENV: OS | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
os_ssh_key_file: /tmp/os-ssh-key-file | |
EOF | |
env: | |
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# xOpera Motivation Production | |
# | |
################################################### | |
xopera-motivation-prod: | |
name: xOpera Motivation Prod | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: xopera | |
EXAMPLE: xopera-motivation | |
PRESET: prod | |
ENV: GCP | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
gcp_service_account_file: /tmp/gcp-service-account-file.json | |
EOF | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# Unfurl Motivation Development | |
# | |
################################################### | |
unfurl-motivation-dev: | |
name: Unfurl Motivation Dev | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: unfurl | |
EXAMPLE: unfurl-motivation | |
PRESET: dev | |
ENV: OS | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
os_ssh_key_file: /tmp/os-ssh-key-file | |
EOF | |
env: | |
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# Unfurl Motivation Production | |
# | |
################################################### | |
unfurl-motivation-prod: | |
name: Unfurl Motivation Prod | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: unfurl | |
EXAMPLE: unfurl-motivation | |
PRESET: prod | |
ENV: GCP | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
gcp_service_account_file: /tmp/gcp-service-account-file.json | |
os_application_credential_secret: dummy | |
EOF | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# xOpera Pruning Static | |
# | |
################################################### | |
xopera-pruning-static: | |
name: xOpera Pruning Static | |
runs-on: ubuntu-22.04 | |
concurrency: xopera-pruning-static | |
env: | |
ORCHESTRATOR: xopera | |
EXAMPLE: xopera-pruning | |
PRESET: static | |
ENV: OS | |
PORT: 3000 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
os_ssh_key_file: /tmp/os-ssh-key-file | |
EOF | |
env: | |
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# xOpera Pruning Elastic | |
# | |
################################################### | |
xopera-pruning-elastic: | |
name: xOpera Pruning Elastic | |
runs-on: ubuntu-22.04 | |
concurrency: xopera-pruning-elastic | |
env: | |
ORCHESTRATOR: xopera | |
EXAMPLE: xopera-pruning | |
PRESET: elastic | |
ENV: GCP | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
gcp_service_account_file: /tmp/gcp-service-account-file.json | |
EOF | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# xOpera Pruning Mode Static | |
# | |
################################################### | |
xopera-pruning-mode-static: | |
name: xOpera Pruning Mode "Consistent Loose" Static | |
runs-on: ubuntu-22.04 | |
concurrency: xopera-pruning-static | |
env: | |
ORCHESTRATOR: xopera | |
EXAMPLE: xopera-pruning-consistent-loose | |
PRESET: static | |
ENV: OS | |
PORT: 3000 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Configure environment | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
os_ssh_key_file: /tmp/os-ssh-key-file | |
EOF | |
env: | |
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: xopera-pruning | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# xOpera Pruning Mode Elastic | |
# | |
################################################### | |
xopera-pruning-mode-elastic: | |
name: xOpera Pruning Mode "Consistent Loose" Elastic | |
runs-on: ubuntu-22.04 | |
concurrency: xopera-pruning-elastic | |
env: | |
ORCHESTRATOR: xopera | |
EXAMPLE: xopera-pruning-consistent-loose | |
PRESET: elastic | |
ENV: GCP | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
gcp_service_account_file: /tmp/gcp-service-account-file.json | |
EOF | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: xopera-pruning | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# Unfurl Artifacts Community | |
# | |
################################################### | |
unfurl-artifacts-community: | |
name: Unfurl Artifacts Community | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: unfurl | |
EXAMPLE: unfurl-artifacts | |
PRESET: community | |
ENV: OS | |
PORT: 3000 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
os_ssh_key_file: /tmp/os-ssh-key-file | |
EOF | |
env: | |
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# Unfurl Artifacts Enterprise | |
# | |
################################################### | |
unfurl-artifacts-enterprise: | |
name: Unfurl Artifacts Enterprise | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: unfurl | |
EXAMPLE: unfurl-artifacts | |
PRESET: enterprise | |
ENV: GCP | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
gcp_service_account_file: /tmp/gcp-service-account-file.json | |
EOF | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# Unfurl Aware Local | |
# | |
################################################### | |
unfurl-aware-local: | |
name: Unfurl Aware Local | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: unfurl | |
EXAMPLE: unfurl-aware | |
PRESET: local | |
ENV: OS | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
os_ssh_key_file: /tmp/os-ssh-key-file | |
EOF | |
env: | |
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() | |
################################################### | |
# | |
# Unfurl Aware Cloud | |
# | |
################################################### | |
unfurl-aware-cloud: | |
name: Unfurl Aware Cloud | |
runs-on: ubuntu-22.04 | |
env: | |
ORCHESTRATOR: unfurl | |
EXAMPLE: unfurl-aware | |
PRESET: cloud | |
ENV: GCP | |
PORT: 80 | |
steps: | |
- name: (PREPARE) Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Install Vintner | |
uses: ./.github/actions/vintner-install | |
with: | |
gcp_service_account_file: ${{ secrets.GCP_SERVICE_ACCOUNT_FILE }} | |
os_ssh_key_file: ${{ secrets.OS_SSH_KEY_FILE }} | |
os_application_credential_id: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }} | |
os_application_credential_secret: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }} | |
- name: (VINTNER) Configure setup | |
uses: ./.github/actions/vintner-setup | |
with: | |
orchestrator: ${{ env.ORCHESTRATOR }} | |
- name: (VINTNER) Resolve variability | |
uses: ./.github/actions/vintner-resolve | |
with: | |
example: ${{ env.EXAMPLE }} | |
preset: ${{ env.PRESET }} | |
- name: (VINTNER) Assign deployment inputs | |
run: | | |
cat << EOF > /tmp/deployment-inputs.yaml | |
os_application_credential_id: ${OS_APPLICATION_CREDENTIAL_ID} | |
os_application_credential_secret: ${OS_APPLICATION_CREDENTIAL_SECRET} | |
gcp_service_account_file: /tmp/gcp-service-account-file.json | |
EOF | |
- name: (VINTNER) Validate application | |
uses: ./.github/actions/vintner-validate | |
- name: (VINTNER) Deploy application | |
uses: ./.github/actions/vintner-deploy | |
- name: (VINTNER) Test application | |
uses: ./.github/actions/vintner-test | |
with: | |
example: ${{ env.EXAMPLE }} | |
env: ${{ env.ENV }} | |
port: ${{ env.PORT }} | |
- name: (VINTNER) Undeploy application | |
uses: ./.github/actions/vintner-undeploy | |
if: always() |