Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9e706a20a7 | |||
| 02b2ab6116 | |||
| 439cc4136d | |||
| 809560f8ca | |||
| 15bdf96d76 | |||
| f08a4f9cb7 | |||
| 701a4fbde3 | |||
| 4fe9bbecb3 | |||
| a96beafe21 | |||
| 9500d5f39b | |||
| 1216beee88 | |||
| 94e793e1ad | |||
| 96e15c9786 | |||
| 9b18d386e8 | |||
| db2130a634 | |||
| 1e27a9817b | |||
| 3ac23e5d5c | |||
| 245670e37f | |||
| 03b0ca68db | |||
| 2108450ab0 | |||
| f8c39e324a | |||
| db2057c8ef | |||
| 049c21f538 | |||
| d8810273b7 | |||
| 06655add2b | |||
| e784655300 | |||
| fa42b8b7cc | |||
| 5ad020ab80 | |||
| c9858ef7ba | |||
| a94057d1ae | |||
| 42a0928b7f |
@@ -180,17 +180,32 @@ jobs:
|
|||||||
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
|
||||||
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
|
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
|
||||||
notification_message: 'Cloudflare DNS setup completed successfully.'
|
notification_message: 'Cloudflare DNS setup completed successfully.'
|
||||||
regenerate-readme:
|
regenerate-readme-modified-services:
|
||||||
name: Update README
|
name: Update README & Generate List of Modified Services
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [cloudflare-dns-setup]
|
needs: [cloudflare-dns-setup]
|
||||||
outputs:
|
outputs:
|
||||||
pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
|
pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
|
||||||
|
modified_services: ${{ steps.compare-services.outputs.modified_services }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Install yq
|
- name: Install yq
|
||||||
uses: dcarbone/install-yq-action@v1
|
uses: dcarbone/install-yq-action@v1
|
||||||
|
- name: Fetch main branch for comparison
|
||||||
|
run: |
|
||||||
|
git fetch origin main:main
|
||||||
|
- name: Compare services using yq
|
||||||
|
continue-on-error: true
|
||||||
|
id: compare-services
|
||||||
|
run: |
|
||||||
|
current_services=$(yq '.services | to_entries' docker-compose.yml)
|
||||||
|
git show main:docker-compose.yml > main_compose.yml
|
||||||
|
main_services=$(yq '.services | to_entries' main_compose.yml)
|
||||||
|
modified_services_file=$(comm -13 <(echo "$main_services") <(echo "$current_services") > changes_compose.yml)
|
||||||
|
modified_services=${egrep '^ [a-z]' changes.yml | sed -e 's|^ ||g' -e 's|:||g' | sed ':a;N;$!ba;s/\n/ /g'}
|
||||||
|
echo "Modified services: $modified_services"
|
||||||
|
echo "modified_services=$modified_services" >> $GITHUB_OUTPUT
|
||||||
- name: Generate service list
|
- name: Generate service list
|
||||||
run: |
|
run: |
|
||||||
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
|
yq '.services | to_entries | map({"service": .key, "image": .value.image})' docker-compose.yml > services.yml
|
||||||
@@ -286,25 +301,13 @@ jobs:
|
|||||||
- name: Generate .env file for deployment
|
- name: Generate .env file for deployment
|
||||||
run: |
|
run: |
|
||||||
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
|
vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env
|
||||||
- name: Detect modified services
|
|
||||||
id: detect-modified-services
|
|
||||||
run: |
|
|
||||||
git diff --name-only HEAD^ HEAD | grep docker-compose.yml > /dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
modified_services=$(git diff HEAD^ HEAD -- docker-compose.yml | grep -E '^\+[[:space:]]+[a-zA-Z0-9_-]+:' | sed -E 's/^\+[[:space:]]+([a-zA-Z0-9_-]+):.*/\1/')
|
|
||||||
echo "Modified services: $modified_services"
|
|
||||||
echo "modified_services=$modified_services" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "No changes in docker-compose.yml"
|
|
||||||
echo "modified_services=" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
- name: Docker Compose Deployment
|
- name: Docker Compose Deployment
|
||||||
if: ${{ steps.detect-modified-services.outputs.modified_services != '' }}
|
if: ${{ steps.regenerate-readme-modified-services.outputs.modified_services != '' }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: keatonLiu/docker-compose-remote-action@v1.2
|
uses: keatonLiu/docker-compose-remote-action@v1.2
|
||||||
with:
|
with:
|
||||||
docker_compose_file: docker-compose.yml
|
docker_compose_file: docker-compose.yml
|
||||||
docker_args: -d --remove-orphans --pull missing --parallel -1
|
docker_args: -d --remove-orphans --pull missing --parallel -1 ${{ steps.regenerate-readme-modified-services.outputs.modified_services }}
|
||||||
ssh_user: gitea-deploy
|
ssh_user: gitea-deploy
|
||||||
ssh_host: 192.168.1.254
|
ssh_host: 192.168.1.254
|
||||||
ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
|
ssh_host_public_key: ${{ secrets.RINOA_GITEA_PUBLIC_SSH_KEY }}
|
||||||
|
|||||||
+428
-444
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user