Some checks failed
Build And Deploy / build-and-deploy (push) Has been cancelled
merge hook. Set up env.example generation. Add doiuse dev dependency.
59 lines
2.5 KiB
YAML
59 lines
2.5 KiB
YAML
name: Build And Deploy
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
apt-get update && apt-get install gettext -y
|
|
- name: Check out repository
|
|
uses: actions/checkout@v4
|
|
# - name: Expose repo secrets and vars as shell variables
|
|
# env:
|
|
# SECRETS_CONTEXT: ${{ toJSON(secrets) }}
|
|
# VARS_CONTEXT: ${{ toJSON(vars) }}
|
|
# run: |
|
|
# # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable
|
|
# # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
|
|
# # # EOF randomness is to account for empty secrets and vars
|
|
# EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
|
# to_envs() { jq -r "to_entries[] | \"\(.key)<<$EOF\n\(.value)\n$EOF\n\""; }
|
|
# echo "$VARS_CONTEXT" | to_envs >> $GITHUB_ENV
|
|
# echo "$SECRETS_CONTEXT" | to_envs >> $GITHUB_ENV
|
|
- name: Substitute environment variables in .env.example and write to .env
|
|
env:
|
|
CERTBOT_EMAIL: ${{secrets.CERTBOT_EMAIL}}
|
|
CLOUDFLARE_API_TOKEN: ${{secrets.CLOUDFLARE_API_TOKEN}}
|
|
DOMAIN: ${{secrets.DOMAIN}}
|
|
PUBLIC_IP: ${{secrets.PUBLIC_IP}}
|
|
ANDROID_SMS_GATEWAY_IP: ${{secrets.ANDROID_SMS_GATEWAY_IP}}
|
|
ANDROID_SMS_GATEWAY_URL: ${{secrets.ANDROID_SMS_GATEWAY_URL}}
|
|
ANDROID_SMS_GATEWAY_LOGIN: ${{secrets.ANDROID_SMS_GATEWAY_LOGIN}}
|
|
ANDROID_SMS_GATEWAY_PASSWORD: ${{secrets.ANDROID_SMS_GATEWAY_PASSWORD}}
|
|
ANDROID_SMS_GATEWAY_RECIPIENT_PHONE: ${{secrets.ANDROID_SMS_GATEWAY_RECIPIENT_PHONE}}
|
|
ASTRO_DB_REMOTE_URL: ${{secrets.ASTRO_DB_REMOTE_URL}}
|
|
OTP_SUPER_SECRET_SALT: ${{secrets.OTP_SUPER_SECRET_SALT}}
|
|
IMAGE_FILENAME: ${{secrets.IMAGE_FILENAME}}
|
|
IMAGE_NAME: ${{secrets.IMAGE_NAME}}
|
|
SSH_USER: ${{secrets.SSH_USER}}
|
|
SSH_PORT: ${{secrets.SSH_PORT}}
|
|
SSH_HOST: ${{secrets.SSH_HOST}}
|
|
SSH_KEY: ${{secrets.SSH_KEY}}
|
|
SSH_KNOWN_HOST: ${{secrets.SSH_KNOWN_HOST}}
|
|
run: |
|
|
envsubst < .env.example > .env
|
|
- name: Run build script
|
|
run: |
|
|
cd cicd/scripts
|
|
chmod +x ./build.sh
|
|
./build.sh
|
|
- name: Run deploy script
|
|
run: |
|
|
cd cicd/scripts
|
|
chmod +x ./deploy.sh
|
|
./deploy.sh
|