Я пытаюсь создать составное действие в моем репо следующим образом:
.github
├── actions
│ └── setup-composite.yml
└── workflows
└── composite_test.yml
содержание файлов - это голый минимум
# setup-composite.yml
name: setup-env
runs:
using: 'composite'
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: run dependencies
shell: bash
run: |
pip install -r requirements.txt
а затем я пытаюсь сослаться на составной рабочий процесс, используя
# composite_test.yml
name: Composite Test
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: composite
uses: ./.github/actions/setup-composite
Содержимое файла requirements.txt — это всего лишь пара пакетов для тестирования.
Но когда этот рабочий процесс запускается, я получаю Error: Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/_actions/{profile}/{repo}/main/.github/actions/setup-composite'. Did you forget to run actions/checkout before running your local action?
Насколько я знаю, я следовал всем шагам из Документов. Я также просмотрел несколько других ответов, в том числе
Как я могу ссылаться на другие действия из файла action.yml моего GitHub Action?
Как я могу ссылаться на другие действия из файла action.yml моего GitHub Action?
и несколько потоков на доске обсуждений GitHub.
Мой репозиторий общедоступен. Я попробовал несколько комбинаций утверждения uses: ./.github/actions/setup-composite
, включая ссылки по веткам, но у меня не хватило идей, чтобы попробовать.
Составные действия должны быть определены с помощью action.yml
.
Я сделал что-то подобное, попробуйте этот макет:
.github
├── actions
│ └── setup-composite
│ └── action.yml
└── workflows
└── composite_test.yml
Неважно, я не проверял тот же репозиторий, что и рабочий процесс, до того, как попытался использовать путь к своему каталогу actions
. Подробнее см. здесь: docs.github.com/en/actions/using-workflows/…
У меня такой же макет, и я получаю ту же ошибку.