#github-actions
Вопрос:
и я настраиваю определение CI для ветвей, не являющихся основными, с помощью этих заключительных шагов:
- name: Zip the release
uses: papeloto/action-zip@v1
with:
files: README.md LICENSE *.dll nfive.yml nfive.lock fxmanifest.lua index.html config/
dest: ${{ github.workspace }}nfive.zip
- name: Attach Zip as build artifact
uses: actions/upload-artifact@v1
with:
name: nfive
path: ${{ github.workspace }}nfive.zip
Почему github.workspace указывает на исходный репозиторий NFiveNFive?
Итак, если запустить echo ${{ github.workspace}}, он определенно покажет родительский репозиторий, но чтобы сделать это еще сложнее, если я изменю каталог на имя своей организации и имя разветвленного репозитория, я получу это:
что является результатом этих шагов:
- run: echo ${{ github.workspace }}
- name: Move files to artifact folder
shell: pwsh
run: |
cd D:aHTB-5MNFive
mkdir Build
Move-Item -Path README.md,LICENSE,*.dll,nfive.yml,nfive.lock,fxmanifest.lua,index.html,config -Destination Build
У меня нет доступа к родительскому пути, потому что я не являюсь участником, поэтому я в первую очередь разветвил, так почему Github предполагает, что github.workspace должен сопоставляться с родительским?
=== Udate ===
Поэтому я перешел в свою учетную запись пользователя, а не в организацию, которую я использовал, и добавил шаг рабочего процесса, чтобы просто отобразить переменную github.workspace, и в ней определенно указано родительское рабочее пространство D:aNFiveNFive
Я попытался изменить путь в файле nfive.yml
Тот же результат
Удаление файла nfive.yml ничего не меняет. Я думаю, что nfive.yml фактически используется в конвейерах CI / CD, которые оригинальные авторы настроили в appveyor, поэтому здесь это ни на что не повлияет.
Ответ №1:
Это не указывает на родительское репо fork, это потому github.workspace
, что переменная следует этому формату: /home/runner/work/my-repo-name/my-repo-name
.
Вот причина, по которой NFive появляется дважды, это НЕ относится к имени пользователя / организации NFive, а дважды к имени репозитория NFive.
Это объясняется в документации github о переменных среды по умолчанию
Я также разветвил репозиторий и не получаю никаких ошибок при запуске этого рабочего процесса.
Вот результат выполнения рабочего процесса с сгенерированным .zip
артефактом файла.
Комментарии:
1. Я только что попробовал то же самое, что и ты, но получил ту же ошибку. Я также попытался полностью удалить файл, не зная, зачем он вообще нужен, та же ошибка. На самом деле, если вы посмотрите на то, как вы выполняете шаг «эхо», он все еще показывает D:aNFiveNFive
2. Я тоже не понимаю, как это может работать на моей вилке, а не на вашей 😅 🤔
3. Самое странное, что это D:aNFiveNFive в вашем случае, тем не менее, zip все еще генерируется и прикрепляется к запуску
4. На самом деле, я не думаю, что это ошибка, это потому
github.workspace
, что следуйте этому формату:/home/runner/work/my-repo-name/my-repo-name
. Вот почемуNFive
появляется дважды, оно ССЫЛАЕТСЯ НЕ на имя пользователя / организацию NFive, а дважды на имя репозитория NFive. Это объясняется в документации github о переменных среды по умолчанию . Я обновил ответ выше.