summaryrefslogtreecommitdiff
path: root/.github/workflows
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build-and-deploy-prod.yml37
-rw-r--r--.github/workflows/build-and-deploy-stage.yml43
2 files changed, 23 insertions, 57 deletions
diff --git a/.github/workflows/build-and-deploy-prod.yml b/.github/workflows/build-and-deploy-prod.yml
index 060ae32..d89cc76 100644
--- a/.github/workflows/build-and-deploy-prod.yml
+++ b/.github/workflows/build-and-deploy-prod.yml
@@ -40,8 +40,6 @@ jobs:
context: .
file: ./Dockerfile
push: true
- cache-from: type=gha
- cache-to: type=gha,mode=max
tags: |
ghcr.io/sayaandy/saya-today-web:latest
ghcr.io/sayaandy/saya-today-web:stable
@@ -52,16 +50,10 @@ jobs:
runs-on: ubuntu-latest
environment: Production
needs: [build-and-push]
- container:
- image: ghcr.io/ansible/community-ansible-dev-tools:v26.4.6
- options: --user root
steps:
- name: Checkout
uses: actions/checkout@v6
- - name: Install community.docker collection
- run: ansible-galaxy collection install community.docker
-
- name: Set up SSH connection for uz.saya.casa
run: |
mkdir -p ~/.ssh
@@ -75,28 +67,17 @@ jobs:
- name: Test SSH connection
run: |
- ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ~/.ssh/id_ed25519 svc_github@uz.saya.casa "echo 'SSH connection successful'"
+ ssh -o ConnectTimeout=10 -i ~/.ssh/id_ed25519 svc_github@uz.saya.casa "echo 'SSH connection successful'"
+
+ - name: Install Ansible
+ shell: bash
+ run: |
+ sudo apt update
+ sudo apt install -y ansible
- name: Run Ansible playbook
env:
- ANSIBLE_HOST_KEY_CHECKING: "False"
+ ANSIBLE_HOST_KEY_CHECKING: False
working-directory: ./deploy
run: |
- ansible-playbook \
- playbook.yml \
- -i inventory.yml \
- -l prod \
- --private-key ~/.ssh/id_ed25519 \
- -u svc_github \
- -e saya_today_web_auth_salt="${{ secrets.AUTH_SALT }}" \
- -e saya_today_web_s3_access_key_id="${{ secrets.S3_ACCESS_KEY_ID }}" \
- -e saya_today_web_s3_secret_access_key="${{ secrets.S3_SECRET_ACCESS_KEY }}" \
- -e saya_today_web_environment=prod \
- -e saya_today_web_tag=${{ github.ref_name }} \
- -e saya_today_web_mail_salt="${{ secrets.MAIL_SALT }}" \
- -e saya_today_web_mail_host="${{ secrets.MAIL_HOST }}" \
- -e saya_today_web_mail_address="${{ secrets.MAIL_ADDRESS }}" \
- -e saya_today_web_mail_username="${{ secrets.MAIL_USERNAME }}" \
- -e saya_today_web_mail_password="${{ secrets.MAIL_PASSWORD }}" \
- -e saya_today_google_site_verification="${{ secrets.GOOGLE_SITE_VERIFICATION }}" \
- -e saya_today_yandex_verification="${{ secrets.YANDEX_VERIFICATION }}"
+ ansible-playbook -i inventory.yml -l prod playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_auth_salt="${{ secrets.AUTH_SALT }}" -e saya_today_web_b2_key_id="${{ secrets.B2_KEY_ID }}" -e saya_today_web_b2_application_key="${{ secrets.B2_APPLICATION_KEY }}" -e saya_today_web_environment=prod -e saya_today_web_tag=${{ github.ref_name }} -e saya_today_web_mail_salt="${{ secrets.MAIL_SALT }}" -e saya_today_web_mail_host="${{ secrets.MAIL_HOST }}" -e saya_today_web_mail_address="${{ secrets.MAIL_ADDRESS }}" -e saya_today_web_mail_username="${{ secrets.MAIL_USERNAME }}" -e saya_today_web_mail_password="${{ secrets.MAIL_PASSWORD }}" -e saya_today_google_site_verification="${{ secrets.GOOGLE_SITE_VERIFICATION }}"
diff --git a/.github/workflows/build-and-deploy-stage.yml b/.github/workflows/build-and-deploy-stage.yml
index ce4a1fb..e699856 100644
--- a/.github/workflows/build-and-deploy-stage.yml
+++ b/.github/workflows/build-and-deploy-stage.yml
@@ -9,8 +9,6 @@ jobs:
environment: Stage
permissions:
packages: write
- outputs:
- sha_short: ${{ steps.ghss_vars.outputs.sha_short }}
steps:
- name: Checkout
uses: actions/checkout@v6
@@ -37,7 +35,7 @@ jobs:
- name: Set github short sha
id: ghss_vars
- run: echo "sha_short=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
+ run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v7
@@ -45,8 +43,6 @@ jobs:
context: .
file: ./Dockerfile
push: true
- cache-from: type=gha
- cache-to: type=gha,mode=max
tags: |
ghcr.io/sayaandy/saya-today-web:latest
ghcr.io/sayaandy/saya-today-web:commit-${{ steps.ghss_vars.outputs.sha_short }}
@@ -56,16 +52,10 @@ jobs:
runs-on: ubuntu-latest
environment: Stage
needs: [build-and-push]
- container:
- image: ghcr.io/ansible/community-ansible-dev-tools:v26.4.6
- options: --user root
steps:
- name: Checkout
uses: actions/checkout@v6
- - name: Install community.docker collection
- run: ansible-galaxy collection install community.docker
-
- name: Set up SSH connection for uz.saya.casa
run: |
mkdir -p ~/.ssh
@@ -79,26 +69,21 @@ jobs:
- name: Test SSH connection
run: |
- ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ~/.ssh/id_ed25519 svc_github@uz.saya.casa "echo 'SSH connection successful'"
+ ssh -o ConnectTimeout=10 -i ~/.ssh/id_ed25519 svc_github@uz.saya.casa "echo 'SSH connection successful'"
+
+ - name: Install Ansible
+ shell: bash
+ run: |
+ sudo apt update
+ sudo apt install -y ansible
+
+ - name: Set github short sha
+ id: ghss_vars
+ run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Run Ansible playbook
env:
- ANSIBLE_HOST_KEY_CHECKING: "False"
+ ANSIBLE_HOST_KEY_CHECKING: False
working-directory: ./deploy
run: |
- ansible-playbook \
- playbook.yml \
- -i inventory.yml \
- -l stage \
- --private-key ~/.ssh/id_ed25519 \
- -u svc_github \
- -e saya_today_web_auth_salt="${{ secrets.AUTH_SALT }}" \
- -e saya_today_web_s3_access_key_id="${{ secrets.S3_ACCESS_KEY_ID }}" \
- -e saya_today_web_s3_secret_access_key="${{ secrets.S3_SECRET_ACCESS_KEY }}" \
- -e saya_today_web_environment=stage \
- -e saya_today_web_tag=commit-${{ needs.build-and-push.outputs.sha_short }} \
- -e saya_today_web_mail_salt="${{ secrets.MAIL_SALT }}" \
- -e saya_today_web_mail_host="${{ secrets.MAIL_HOST }}" \
- -e saya_today_web_mail_address="${{ secrets.MAIL_ADDRESS }}" \
- -e saya_today_web_mail_username="${{ secrets.MAIL_USERNAME }}" \
- -e saya_today_web_mail_password="${{ secrets.MAIL_PASSWORD }}"
+ ansible-playbook -i inventory.yml -l stage playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_auth_salt="${{ secrets.AUTH_SALT }}" -e saya_today_web_b2_key_id="${{ secrets.B2_KEY_ID }}" -e saya_today_web_b2_application_key="${{ secrets.B2_APPLICATION_KEY }}" -e saya_today_web_environment=stage -e saya_today_web_tag=commit-${{ steps.ghss_vars.outputs.sha_short }} -e saya_today_web_mail_salt="${{ secrets.MAIL_SALT }}" -e saya_today_web_mail_host="${{ secrets.MAIL_HOST }}" -e saya_today_web_mail_address="${{ secrets.MAIL_ADDRESS }}" -e saya_today_web_mail_username="${{ secrets.MAIL_USERNAME }}" -e saya_today_web_mail_password="${{ secrets.MAIL_PASSWORD }}"