vibecoded-personal-site/.github/actions/setup-environment/action.yml
badbl0cks e245bcbe96
Some checks failed
Build/Deploy / trigger-dev-build (push) Has been cancelled
Build/Deploy / trigger-staging-build (push) Has been cancelled
Build/Deploy / trigger-main-build (push) Has been cancelled
feat: add in copy of updated shared deployment workflows for now until they are
published
2025-08-14 18:42:59 -07:00

78 lines
No EOL
2.8 KiB
YAML

name: 'Setup Environment'
description: 'Create environment files and variables for deployment'
author: 'Portfolio CI/CD'
inputs:
release-type:
description: 'Release type (staging or prod)'
required: true
domain:
description: 'Domain name'
required: true
android-sms-gateway-url:
description: 'Android SMS Gateway URL'
required: true
android-sms-gateway-login:
description: 'Android SMS Gateway login'
required: true
android-sms-gateway-password:
description: 'Android SMS Gateway password'
required: true
my-phone-number:
description: 'Phone number for SMS delivery'
required: true
super-secret-salt:
description: 'Secret salt for TOTP generation'
required: true
wireguard-allowed-ips:
description: 'WireGuard allowed IPs'
required: true
wireguard-private-key:
description: 'WireGuard private key'
required: true
wireguard-addresses:
description: 'WireGuard addresses'
required: true
wireguard-public-key:
description: 'WireGuard public key'
required: true
wireguard-endpoint-host:
description: 'WireGuard endpoint host'
required: true
wireguard-endpoint-port:
description: 'WireGuard endpoint port'
required: true
prod:
description: 'Whether this is a production deployment (true/false)'
required: false
default: 'false'
outputs:
env-file:
description: 'Path to the created .env file'
value: '.env'
runs:
using: 'composite'
steps:
- name: Create .env from secrets and environment variables
shell: bash
run: |
echo "🔧 Creating environment configuration..."
echo "DOMAIN=\"${{ inputs.domain }}\"" > .env
echo "NUXT_ANDROID_SMS_GATEWAY_URL=\"${{ inputs.android-sms-gateway-url }}\"" >> .env
echo "NUXT_ANDROID_SMS_GATEWAY_LOGIN=\"${{ inputs.android-sms-gateway-login }}\"" >> .env
echo "NUXT_ANDROID_SMS_GATEWAY_PASSWORD=\"${{ inputs.android-sms-gateway-password }}\"" >> .env
echo "NUXT_MY_PHONE_NUMBER=\"${{ inputs.my-phone-number }}\"" >> .env
echo "NUXT_SUPER_SECRET_SALT=\"${{ inputs.super-secret-salt }}\"" >> .env
echo "WIREGUARD_ALLOWED_IPS=\"${{ inputs.wireguard-allowed-ips }}\"" >> .env
echo "WIREGUARD_PRIVATE_KEY=\"${{ inputs.wireguard-private-key }}\"" >> .env
echo "WIREGUARD_ADDRESSES=\"${{ inputs.wireguard-addresses }}\"" >> .env
echo "WIREGUARD_PUBLIC_KEY=\"${{ inputs.wireguard-public-key }}\"" >> .env
echo "WIREGUARD_ENDPOINT_HOST=\"${{ inputs.wireguard-endpoint-host }}\"" >> .env
echo "WIREGUARD_ENDPOINT_PORT=\"${{ inputs.wireguard-endpoint-port }}\"" >> .env
echo "RELEASE_TYPE=\"${{ inputs.release-type }}\"" >> .env
echo "PROD=\"${{ inputs.prod }}\"" >> .env
echo "✅ Environment file created with $(wc -l < .env) variables"