Тесты в GitHub Actions не могут настроить Redis

Пытаюсь загрузить плагин, но получаю ошибку при распаковке Redis.

Возможно, проблема в параметре --long=30? Не совсем понимаю, как лучше отладить эту ситуацию…

Кажется, ошибка указывает на то, что не удаётся выполнить zstd. У вас установлен этот пакет?

Нет. Возможно, что-то изменилось в базовом образе Docker или в операционной системе, на основе которой он создан, и это нужно добавить там. Я точно не понимаю, где именно это должно произойти, но я почти уверен, что дело не в моём плагине. :man_shrugging:

Требование zstd исходит от пакета redis (загруженного на вашем скриншоте), который сжат с помощью zstd. Если раньше zstd не требовался, возможно, метод сжатия изменился на стороне shogo82148/actions-setup-redis.

Если вы используете наш базовый образ, вам не нужно настраивать Redis, так как он уже там есть.

Я всегда стараюсь делать всё по-вашему. :wink:

Я использую базовое изображение и процесс, описанные здесь:

На прошлой неделе всё работало. В этих рабочих процессах не было новых коммитов уже 2 месяца. Я не думаю, что что-то в моём плагине могло сломать это именно таким образом.

Этот процесс был обновлён 15 сентября, чтобы исключить действие Redis, верно?

Вот и всё! Есть ли какой-нибудь рекомендуемый или простой способ избежать этого и не выглядеть глупо?

Честно говоря, не уверен :grinning_face_with_smiling_eyes:

Вечная борьба между такими скелетными проектами и постоянными обновлениями — явление довольно распространённое. И хотя в некоторых случаях её можно решить с помощью композиции файлов конфигурации, иногда всё равно придётся сравнивать их вручную.

Это постоянная проблема в моём текущем дистрибутиве Linux, так что я тебя понимаю.

Ха! По крайней мере, я не один такой. Это очень помогает.

Да. Сегодня ушло около 15 минут на то, чтобы разобраться, как обновить node.js.

Я не знаком с процессами, связанными с использованием этого проекта-шаблона, но вы могли бы использовать алиасы оболочки? Например, вместо того чтобы использовать docker whizzy things, приучите себя к использованию своего алиаса, например, alias dwt="git pull; docker whizzy things"

К сожалению, нет. Безумный хак мог бы включать жёсткие ссылки между моим плагином и скелет-плагином и какой-то автоматизированный способ подтягивать последние коммиты из скелета. Боюсь, что решение «ждать, пока что-то сломается, и не забывать проверять GitHub workflows» — это единственный путь.

Спасибо.

Если я правильно понимаю, у вас, скорее всего, есть копия скелет-проекта (где все важные части заменены вашим собственным плагином), и проблема в том, что файлы рабочего процесса в этой копии устаревают.

Можете ли вы добавить репозиторий скелета как подмодуль, а затем заменить файлы рабочего процесса в вашем репозитории символическими ссылками на подмодуль? Настройка git config submodule.recurse true будет обновлять подмодуль каждый раз при выполнении команды pull.

Я не думаю, что подход со ссылками сработал бы, учитывая недавние обсуждения, где люди объясняли, почему это не работает. Я создал запрос на включение, который должен решить эту проблему, используя повторно используемые рабочие процессы.

Нет, определённо нет, но я думал (думаю?), что жёсткие ссылки сработают.

Да. Я думаю, что решение с жёсткими ссылками может сработать. Я могу создать жёсткие ссылки из репозитория скелета на другие, а затем выполнить git pull в скелете, и все файлы, связанные с ними, получат новую версию. При этом, как мне кажется, git не заметит, что там связано несколько файлов.

И теперь появилась новая идея, которую я до конца не понимаю… [edit]но теперь я почти понял…]