ਸਿਰਲੇਖ: GitHub Actions ਬਹਾਲ ਹੋ ਗਿਆ ਹੈ ਪਰ ਮੈਨੂਅਲ ਸੁਧਾਰਾਂ ਦੀ ਲੋੜ ਹੈ
GitHub Actions 7 ਅਗਸਤ ਨੂੰ 02:04 UTC 'ਤੇ ਦੁਬਾਰਾ ਆਨਲਾਈਨ ਆ ਗਿਆ। ਇਸ ਰੁਕਾਵਟ ਕਾਰਨ push ਅਤੇ pull-request ਇਵੈਂਟਸ (events) ਦੀ ਇੱਕ ਲੜੀ ਰਹਿ ਗਈ ਜੋ ਕਦੇ ਚੱਲੀ ਹੀ ਨਹੀਂ, ਇਸ ਲਈ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਉਹਨਾਂ ਰਨ (runs) ਨੂੰ ਹੱਥ ਨਾਲ ਦੁਬਾਰਾ ਚਲਾਉਣਾ ਪਵੇਗਾ।
ਸਟੇਟਸ ਪੇਜ ਹੁਣ ਹਰਾ (green) ਦਿਖਾਈ ਦੇ ਰਿਹਾ ਹੈ, ਪਰ ਕੋਈ ਵੀ workflow ਜੋ ਰੁਕਾਵਟ ਦੌਰਾਨ ਸ਼ੁਰੂ ਹੋਣਾ ਚਾਹੀਦਾ ਸੀ, ਉਹ ਰੁਕਿਆ ਰਿਹਾ। ਕਿਉਂਕਿ GitHub ਖੁੰਝੇ ਹੋਏ triggers ਨੂੰ ਆਪਣੇ ਆਪ (auto-replay) ਨਹੀਂ ਚਲਾ ਸਕਦਾ, ਇਸ ਲਈ ਟੀਮਾਂ ਨੂੰ ਇੱਕ ਨਵਾਂ commit push ਕਰਨਾ ਪਵੇਗਾ, pull request ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ ਪਵੇਗਾ, ਜਾਂ UI ਵਿੱਚ Re-run jobs 'ਤੇ ਕਲਿੱਕ ਕਰਨਾ ਪਵੇਗਾ। open-source Actions Runner Controller ਦੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇਹ ਵੀ ਚੈੱਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਕਿ runner pods idle (ਸੁਸਤ) ਤਾਂ ਨਹੀਂ ਰਹਿ ਗਏ।
ਕੀ ਗਲਤ ਹੋਇਆ ਅਤੇ ਇਹ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ
GitHub Actions ਲੱਖਾਂ repos ਦੀਆਂ CI pipelines ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਜਦੋਂ ਇਹ ਰੁਕ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਕੋਡ ਤਬਦੀਲੀਆਂ idle ਰਹਿ ਜਾਂਦੀਆਂ ਹਨ, test suites ਨਹੀਂ ਚੱਲਦੇ, ਅਤੇ deployments ਵਿੱਚ ਦੇਰੀ ਹੋ ਜਾਂਦੀ ਹੈ। 7 ਅਗਸਤ ਨੂੰ ਸਰਵਿਸ ਨੇ push events (ਨਵੇਂ commits) ਅਤੇ pull-request events (review updates) ਦੋਵਾਂ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ, ਜੋ ਕਿ ਦੋ ਸਭ ਤੋਂ ਆਮ CI triggers ਹਨ।
ਆਪਣੀਆਂ pipelines ਨੂੰ ਕਿਵੇਂ ਬਹਾਲ ਕਰੀਏ
- ਨਵਾਂ commit push ਕਰੋ – ਬ੍ਰਾਂਚ (branch) ਵਿੱਚ ਕੋਈ ਵੀ ਤਬਦੀਲੀ push trigger ਨੂੰ ਦੁਬਾਰਾ ਚਲਾ ਦਿੰਦੀ ਹੈ।
- pull request ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ – PR workflow ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਣ ਲਈ ਕੋਈ ਕਮੈਂਟ ਜੋੜੋ, ਸਿਰਲੇਖ ਬਦਲੋ, ਜਾਂ ਹੋਰ commits push ਕਰੋ।
- workflow ਨੂੰ ਮੈਨੂਅਲ ਤਰੀਕੇ ਨਾਲ ਦੁਬਾਰਾ ਚਲਾਓ – Actions UI ਹੁਣ ਹਰੇਕ ਅਸਫਲ ਰਨ ਲਈ “Re-run jobs” ਬਟਨ ਦਿਖਾਉਂਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ Actions Runner Controller ਰਾਹੀਂ self-hosted runners ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ runner pods ਦੀ ਜਾਂਚ ਕਰੋ। ਸਰਵਿਸ ਵਾਪਸ ਆਉਣ ਤੋਂ ਬਾਅਦ ਕੁਝ idle ਰਹਿ ਸਕਦੇ ਹਨ; ਉਹਨਾਂ ਨੂੰ restart ਜਾਂ redeploy ਕਰੋ।
ਟੀਮਾਂ ਲਈ ਜੋਖਮ
- ਉਤਪਾਦਕਤਾ ਦਾ ਨੁਕਸਾਨ (Productivity loss) – ਡਿਵੈਲਪਰ ਉਸ ਫੀਡਬੈਕ ਦੀ ਉਡੀਕ ਕਰਦੇ ਹਨ ਜੋ ਆਮ ਤੌਰ 'ਤੇ ਮਿੰਟਾਂ ਵਿੱਚ ਆ ਜਾਂਦਾ ਹੈ।
- ਰਿਲੀਜ਼ ਵਿੱਚ ਦੇਰੀ – ਕੋਈ ਵੀ pipeline ਜੋ ਰਿਲੀਜ਼ ਨੂੰ ਰੋਕ ਰਹੀ ਹੈ, ਉਹ ਸ਼ਿਪਿੰਗ ਦੀਆਂ ਮਿਤੀਆਂ ਨੂੰ ਪਿੱਛੇ ਧੱਕ ਸਕਦੀ ਹੈ।
- ਕਾਰਜਸ਼ੀਲ ਬੋਝ (Operational overhead) – ਟੀਮਾਂ ਨੂੰ ਹਾਲੀਆ ਰਨਾਂ ਦੀ ਜਾਂਚ ਕਰਨੀ ਪਵੇਗੀ, ਕਮੀਆਂ ਲੱਭਣੀਆਂ ਪੈਣਗੀਆਂ, ਅਤੇ ਉੱਪਰ ਦਿੱਤੇ ਮੈਨੂਅਲ ਕਦਮ ਚੁੱਕਣੇ ਪੈਣਗੇ, ਜਿਸ ਨਾਲ ਫੀਚਰ ਕੰਮ ਲਈ ਸਮਾਂ ਘਟ ਜਾਵੇਗਾ।
ਸਿੱਖਿਆ (Takeaway): ਇਹ ਰੁਕਾਵਟ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਮੈਚੋਰ CI ਸਰਵਿਸਿਜ਼ ਵੀ jobs ਨੂੰ ਡ੍ਰੌਪ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਅਤੇ ਆਟੋਮੈਟਿਕ ਰੀਪਲੇਅ ਦੀ ਕੋਈ ਗਾਰੰਟੀ ਨਹੀਂ ਹੈ। ਆਪਣੇ incident-response playbooks ਵਿੱਚ ਮੈਨੂਅਲ ਰਿਕਵਰੀ ਕਦਮ ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਵਧੇਰੇ ਲਚਕਦਾਰ (resilient) event handling ਵੱਲ GitHub ਦੇ ਅਗਲੇ ਕਦਮਾਂ 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ।
