TGViewer
DEV: Рубиновые тона DEV: Рубиновые тона @dev_in_ruby_colors · 3.28K subscribers
Post #1241 2.03K
Недавно появилась любопытная задача: в момент запуска действия на GitHub понять, в каком момент это действие запускалось последний раз, чтобы взять всю историю коммитов с того момента. Проблема в том, что если действие запускается вручную (on: workflow_dispatch), то просто посмотреть какие-то журналы, видимо, не выйдет.

Пока взял способ с тегами. Каждый раз при запуске создаётся тег:

TAG_NAME="lokalise-sync-${{ github.ref_name }}"

git tag -a "$TAG_NAME" -m "Lokalise sync completed on branch '${{ github.ref_name }}'"

git push origin "$TAG_NAME"


Ну, там ещё некоторое количество проверок перед этим.

А затем ищем тег при следующем запуске:

git fetch origin +refs/tags/*:refs/tags/*

if git rev-parse "$TAG_NAME" >/dev/null 2>&1; then
TAG_SHA=$(git rev-list -n 1 "$TAG_NAME")
echo "Found tag '$TAG_NAME' pointing to commit: $TAG_SHA"
echo "base_sha=$TAG_SHA" >> $GITHUB_OUTPUT
fi


Опять же плюс некоторое проверки. Получаем SHA для коммита, когда был запуск. Можно сравнить с ${{ github.sha }}, чтобы узнать, не тот ли это коммит, что и сейчас (повторный запуск).

А потом можно в tj-actions/changed-files просто передать base_sha и sha для сравнения. Да, это тот самый changed-files, который взломали недавно и выплюнули секретные данные юзеров. Защита от подобных умников довольно несложная, кстати. Можно установить не версию действия, а ссылку на какой-то надёжный коммит (момент релиза проверенной версии):

      uses: tj-actions/changed-files@db731a131ccd81ed52a3d463b6d2a4b2856c7ec9


Пока это всё довольно экспериментальная история, но вроде работает ничего. Подробнее можно в этом PR поглядеть https://github.com/lokalise/lokalise-push-action/pull/11/files
GitHub Using tags to store last known action run by bodrovis · Pull Request #11 · lokalise/lokalise-push-action GitHub action to upload changed translation files in the base language from your GitHub repository to Lokalise TMS. - Using tags to store last known action run by bodrovis · Pull Request #11 · lokalise/lokalise-push-action
  • ❤ 7
  • 👍 2
More from @dev_in_ruby_colors
  1. Sep 26, 2026В этом уроке по абстрактной алгебре говорим про области целостности, делители нуля, характ…
  2. Sep 22, 2026А тем временем сказ о ведьмаке, потерявшем память, уже доступен в виде аудиокниги. Целых 1…
  3. Sep 20, 2026В этом уроке по абстрактной алгебре продолжаем говорить о кольцах: в частности о subrings…
  4. Sep 17, 2026Сделал обзор актуальных библиотек JS для сбора данных, 10 штук бодрых решений на все случа…
  5. Sep 13, 2026В общем, мне тут особо было нечего делать и я подумал создать небольшой скрипт для решения…
  6. Sep 12, 2026Oh shit here we go again https://x.com/thlarsen/status/2098544270361964576
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →