Ошибка действий Github Не удалось найти действие

У меня есть простое приложение nodejs на GitHub, и я хочу создать образ докера и отправить его на AWS ECR с помощью действий GitHub.

aws.yml: -

name: foo-bar CI

on:
  pull_request:
    branches:         
    - sandbox
  push:
    branches:         
    - sandbox   

env:
  AWS_REPOSITORY_URL: ${{ secrets.AWS_REPOSITORY_URL }}
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

jobs:
  build-and-push:
    name: Build and push image to AWS ECR
    runs-on: ubuntu-latest
    steps:

    - name: Checkout
      uses: actions/checkout@master

    - name: Check REPO url
      run: echo $AWS_REPOSITORY_URL

    - name: Setup ECR
      run: $( aws ecr get-login --no-include-email --region ap-south-1)

    - name: Build and tag the image
      run: docker build -t $AWS_REPOSITORY_URL .

    - name: Push
      run: docker push $AWS_REPOSITORY_URL

Я добавил AWS_REPOSITORY_URL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY в домашний репозиторий> настройки> секреты.

Я уверен, что ввел правильные значения, я также использую эти значения в gitlab-ci, и он работает.

Когда я нажал на ветку песочницы, задание CI запустилось и выдало следующую ошибку:

Current runner version: '2.263.0'
Operating System
  Ubuntu
  18.04.4
  LTS
Virtual Environment
  Environment: ubuntu-18.04
  Version: 20200525.2
  Included Software: https://github.com/actions/virtual-environments/blob/ubuntu18/20200525.2/images/linux/Ubuntu1804-README.md
Prepare workflow directory
Prepare all required actions
Download action repository 'actions/checkout@sandbox'
##[error]An action could not be found at the URI 'https://api.github.com/repos/actions/checkout/tarball/sandbox'

Что я делаю неправильно? Есть ли в моем YML-файле ошибки?

Судя по логам, на этапе оформления заказа задание не выполняется. Он пытается что-то загрузить с https://api.github.com/repos/actions/checkout/tarball/sandbox, что дает 404 (я пытался открыть URL-адрес в браузере). Думаю, следовало попытаться скачать с https://api.github.com/repos/actions/checkout/tarball/master. Я не уверен, почему он так себя ведет.

2 ответа

Решение

По какой-то причине GitHub неправильно интерпретирует Checkout шаг.

Он использовал actions/checkout@sandbox вместо того actions/checkout@masterво время казни. Наверное, это ошибка вhttps://github.com/aws-actions/ с masterветвь. Вместо этого я попробовал тег v2, и он сработал.

Итак, обновленный этап оформления заказа -

- name: Checkout
  uses: actions/checkout@v2

Если вы разрабатываете собственное действие, также убедитесь, что репозиторий, на который вы пытаетесь сослаться, является общедоступным.

Другие вопросы по тегам