Есть ли способ получить доступ к текущему тегу, который был добавлен в Github Action? В CircleCI вы можете получить доступ к этому значению с помощью $CIRCLE_TAG
переменной.
Мой рабочий процесс yaml запускается тегом, например так:
on:
push:
tags:
- 'v*.*.*'
И я хочу использовать этот номер версии в качестве пути к файлу позже в рабочем процессе.
Я включил мое окончательное решение на основе выбранного ответа в качестве другого ответа ниже: https://stackoverflow.com/a/58195087/756514
refs/tags/
и просто возвращает последнюю часть строки.DEST_PATH: "${{ secrets.AWS_S3_BUCKET }}/$RELEASE_VERSION"
но не можете получить правильный синтаксис, есть идеи? (это в ENV для стороннего действия, которое я, кстати, позже использую в yaml)${GITHUB_REF:10}
чтобы фильтровать имя тега, я бы использовал расширение параметра${GITHUB_REF#refs/*/}
. Это расширилось бы/refs/tags/v1.0.1
доv1.0.1
ожидаемого уровня, но также работало бы с именами ветвей:/refs/heads/master
будет расширеноmaster
, см. Gnu.org/software/bash/manual/html_node/…Вот рабочий процесс, показывающий, что
GITHUB_REF
переменная среды содержитrefs/tags/v0.0.2
:https://github.com/rmunn/Testing/runs/242676390
Я запустил это, создав тег, а затем сделав
git push origin v0.0.2
.Вот фрагмент рабочего процесса, который вы видите в этом журнале:
Поскольку этот журнал в конечном итоге будет удален (я не знаю, как долго сохраняются журналы Github Actions, но это, безусловно, не навсегда), вот скриншот для доказательства.
источник
Так что благодаря помощи @peterevans мне удалось достичь желаемого результата:
chrislennon/action-aws-cli
действие для установки aws cli, используя секреты для ключейВот пример того, что я бежал, используя действие Криса Леннона:
источник