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 }}'
|
||||
notification_title: 'GITEA: Cloudflare Setup @ Rinoa'
|
||||
notification_message: 'Cloudflare DNS setup completed successfully.'
|
||||
regenerate-readme:
|
||||
name: Update README
|
||||
regenerate-readme-modified-services:
|
||||
name: Update README & Generate List of Modified Services
|
||||
runs-on: ubuntu-latest
|
||||
needs: [cloudflare-dns-setup]
|
||||
outputs:
|
||||
pr-pushed: ${{ steps.commit-readme.outputs.pushed }}
|
||||
modified_services: ${{ steps.compare-services.outputs.modified_services }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install yq
|
||||
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
|
||||
run: |
|
||||
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
|
||||
run: |
|
||||
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
|
||||
if: ${{ steps.detect-modified-services.outputs.modified_services != '' }}
|
||||
if: ${{ steps.regenerate-readme-modified-services.outputs.modified_services != '' }}
|
||||
continue-on-error: true
|
||||
uses: keatonLiu/docker-compose-remote-action@v1.2
|
||||
with:
|
||||
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_host: 192.168.1.254
|
||||
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