|
19 | 19 | required: false
|
20 | 20 | type: string
|
21 | 21 | default: 'master'
|
| 22 | + version: |
| 23 | + description: 'Version of the dataset to restore (3.8/3.9)' |
| 24 | + required: false |
| 25 | + default: '3.8' |
| 26 | + type: string |
22 | 27 |
|
23 | 28 | workflow_call:
|
24 | 29 | inputs:
|
25 | 30 | hostname:
|
26 | 31 | description: 'Hostname of the server'
|
27 | 32 | required: true
|
28 | 33 | type: string
|
| 34 | + size: |
| 35 | + description: 'Size of the dataset to restore (small/medium)' |
| 36 | + required: false |
| 37 | + default: 'small' |
| 38 | + type: string |
| 39 | + version: |
| 40 | + description: 'Version of the dataset to restore (3.8/3.9)' |
| 41 | + required: false |
| 42 | + default: '3.8' |
| 43 | + type: string |
29 | 44 | ref:
|
30 | 45 | description: 'Branch ref to use'
|
31 | 46 | required: false
|
@@ -63,22 +78,41 @@ jobs:
|
63 | 78 | - name: Load docker container
|
64 | 79 | run: docker load -i backup-utils.tar
|
65 | 80 |
|
| 81 | + - name: Find backup file version |
| 82 | + id: file |
| 83 | + run: | |
| 84 | + version="${{ inputs.version }}" |
| 85 | + size="${{ inputs.size }}" |
| 86 | + V3_8_COMPATIBLE="3.6 3.7 3.8 3.9 3.10" |
| 87 | + echo "$V3_8_COMPATIBLE" | tr " " '\n' | grep -F -q -x "$version" |
| 88 | + exit_code="$?" |
| 89 | + if [ "$exit_code" -eq "0" ]; then |
| 90 | + echo "Version $version is acceptable" |
| 91 | + file_version=3.8 |
| 92 | + echo "version=3.8" >> "$GITHUB_OUTPUT" |
| 93 | + echo "name=v$file_version-$size.tar.gz" >> "$GITHUB_OUTPUT" |
| 94 | + else |
| 95 | + echo "Version $version is not acceptable" |
| 96 | + exit 1 |
| 97 | + fi |
| 98 | +
|
66 | 99 | - name: Download from blob storage
|
67 | 100 | run: |
|
68 | 101 | mkdir ghes-data
|
69 | 102 | az storage blob download \
|
70 | 103 | --account-name ghesresults \
|
71 | 104 | --container-name ghes-data \
|
72 |
| - --name v3.8-small-docs.tar.gz \ |
73 |
| - --file ghes-data/3.8-small-docs.tar.gz \ |
| 105 | + --name "${{ steps.file.outputs.name }}" \ |
| 106 | + --file "ghes-data/${{ steps.file.outputs.name }}" \ |
74 | 107 | --connection-string "${{ secrets.CONNECTIONSTRING }}"
|
75 | 108 |
|
76 | 109 | - name: Unzip backup and setup symlink
|
77 | 110 | run: |
|
78 | 111 | mkdir "$HOME/ghe-backup-data"
|
79 | 112 | dir_name=$(date +%s)
|
80 | 113 | mkdir "$HOME/ghe-backup-data/$dir_name"
|
81 |
| - tar -xvf "ghes-data/3.8-small-docs.tar.gz" -C "$HOME/ghe-backup-data/$dir_name" |
| 114 | +
|
| 115 | + tar -xvf "ghes-data/${{ steps.file.outputs.name }}" -C "$HOME/ghe-backup-data/$dir_name" |
82 | 116 |
|
83 | 117 | ln -s "$dir_name" "$HOME/ghe-backup-data/current"
|
84 | 118 |
|
|
89 | 123 | run: chmod 0600 "$HOME/backup"
|
90 | 124 |
|
91 | 125 | - name: change version
|
92 |
| - run: echo "3.8.0" > "$HOME/version" |
| 126 | + run: echo "${{ inputs.version }}.0" > "$HOME/version" |
93 | 127 |
|
94 | 128 | - name: Prepare for restore
|
95 | 129 | run: ssh -p122 -i "$HOME/backup" -o StrictHostKeyChecking=no admin@${{ inputs.hostname }} "ghe-maintenance -s"
|
|
0 commit comments