|
8 | 8 | type: boolean |
9 | 9 | description: "Force synchronization" |
10 | 10 | default: false |
| 11 | + move_images: |
| 12 | + type: boolean |
| 13 | + description: "Move images from incoming to /dl" |
| 14 | + default: false |
11 | 15 |
|
12 | | -concurrency: |
13 | | - group: pipeline |
14 | | - cancel-in-progress: false |
| 16 | +#concurrency: |
| 17 | +# group: pipeline |
| 18 | +# cancel-in-progress: false |
15 | 19 |
|
16 | 20 | jobs: |
17 | 21 |
|
|
41 | 45 | run: | |
42 | 46 | echo 'JSON_CONTENT<<EOF' >> $GITHUB_OUTPUT |
43 | 47 | curl -H "Authorization: Token ${{ secrets.NETBOX_TOKEN }}" -H "Accept: application/json; indent=4" \ |
44 | | - "https://stuff.armbian.com/netbox/api/virtualization/virtual-machines/?limit=500&name__empty=false&device_role=Mirror&tag=push&tag=debs&status=failed&status=active" \ |
| 48 | + "https://stuff.armbian.com/netbox/api/virtualization/virtual-machines/?limit=500&name__empty=false&device_role=Mirror&tag=push&tag=images&status=active" \ |
45 | 49 | | jq '.results[] | .name' | grep -v null | sed "s/\"//g" | jq -cnR '[inputs | select(length>0)]' | jq >> $GITHUB_OUTPUT |
46 | 50 | echo 'EOF' >> $GITHUB_OUTPUT |
47 | 51 |
|
@@ -90,11 +94,32 @@ jobs: |
90 | 94 | DATEDIFF=$(echo `stat -c%Y /outgoing/repository/public/armbian.key` - `date --date="$REMOTE_DATE" +%s` | bc) |
91 | 95 | echo $DATEDIFF |
92 | 96 | ssh-keygen -f "${HOME}/.ssh/known_hosts" -R "${{ matrix.node }}" |
93 | | - if [[ "$target" == "debs" && "${DATEDIFF}" -gt 36000 || "${{ github.event.inputs.forced_sync }}" == "true" ]]; then |
94 | | - echo "Synching $target" >> $GITHUB_STEP_SUMMARY |
95 | | - rsync -ar --checksum --progress -e "ssh -p ${SERVER_PORT} -o StrictHostKeyChecking=accept-new" /outgoing/repository/public/ ${SERVER_USERNAME}@${{ matrix.node }}:${SERVER_PATH}/apt |
96 | | - # delete at the end |
97 | | - rsync -ar --checksum --progress --delete -e "ssh -p ${SERVER_PORT} -o StrictHostKeyChecking=accept-new" /outgoing/repository/public/ ${SERVER_USERNAME}@${{ matrix.node }}:${SERVER_PATH}/apt |
| 97 | + #if [[ "$target" == "debs" && "${DATEDIFF}" -gt 36000 || "${{ github.event.inputs.forced_sync }}" == "true" ]]; then |
| 98 | + # echo "Synching $target" >> $GITHUB_STEP_SUMMARY |
| 99 | + # rsync -ar --checksum --progress -e "ssh -p ${SERVER_PORT} -o StrictHostKeyChecking=accept-new" /outgoing/repository/public/ ${SERVER_USERNAME}@${{ matrix.node }}:${SERVER_PATH}/apt |
| 100 | + # # delete at the end |
| 101 | + # rsync -ar --checksum --progress --delete -e "ssh -p ${SERVER_PORT} -o StrictHostKeyChecking=accept-new" /outgoing/repository/public/ ${SERVER_USERNAME}@${{ matrix.node }}:${SERVER_PATH}/apt |
| 102 | + #fi |
| 103 | + if [[ "$target" == "images" && "${{ github.event.inputs.move_images }}" == "true" ]]; then |
| 104 | + ssh -p ${SERVER_PORT} -o StrictHostKeyChecking=accept-new ${SERVER_USERNAME}@${{ matrix.node }} \ |
| 105 | + " |
| 106 | + MOVING_PATHS=\$(find $SERVER_PATH/incoming/*/* -maxdepth 0 -type d 2>/dev/null | sed -r 's/^.*\/(.*)\$/\1/') |
| 107 | + for folder in \$MOVING_PATHS; do |
| 108 | + # move archive to old archive |
| 109 | + mkdir -p $SERVER_PATH/oldarchive/\$folder/archive/ |
| 110 | + [[ -d $SERVER_PATH/archive/\$folder/archive/ ]] && mv $SERVER_PATH/archive/\$folder/archive/* $SERVER_PATH/oldarchive/\$folder/archive/ |
| 111 | + # move current to archive |
| 112 | + mkdir -p $SERVER_PATH/archive/\$folder/archive/ |
| 113 | + if [[ -d $SERVER_PATH/dl/\$folder/archive/ ]]; then |
| 114 | + mv $SERVER_PATH/dl/\$folder/archive/* $SERVER_PATH/archive/\$folder/archive/ |
| 115 | + [[ $? -eq 0 && -n \"${SERVER_PATH}\" ]] && rm -rf $SERVER_PATH/dl/\$folder/ |
| 116 | + fi |
| 117 | + done |
| 118 | + # move incoming to current |
| 119 | + if [[ -n \"\$MOVING_PATHS\" ]]; then |
| 120 | + mv ${SERVER_PATH}/incoming/*/* --target-directory=${SERVER_PATH}/dl |
| 121 | + fi |
| 122 | + " |
98 | 123 | fi |
99 | 124 | done |
100 | 125 |
|
|
0 commit comments