Bopsi
Bopsi

Reputation: 2424

Github actions error An action could not be found

I have a simple nodejs app on GitHub and I want to build a docker image and push to AWS ECR with GitHub actions.

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

I have added AWS_REPOSITORY_URL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY in the repository-home>settings>secrets.

I am sure I have entered the correct values, I am also using these values in gitlab-ci and it's working.

When I pushed to sandbox branch, the CI job started and it gave the following error -

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'

What am I doing wrong? Does my YML file have errors?

Judging by the logs, the job fails at Checkout step. It's trying to download something from https://api.github.com/repos/actions/checkout/tarball/sandbox which gives 404 (I tried to open the URL in the browser). I think it should have tried to download from https://api.github.com/repos/actions/checkout/tarball/master. I am not sure though why it's behaving this way.

Upvotes: 3

Views: 5793

Answers (1)

Bopsi
Bopsi

Reputation: 2424

For some reason GitHub misinterpreting Checkout step.

It was using actions/checkout@sandbox instead of actions/checkout@master at the time of execution. Probably it's a bug in https://github.com/aws-actions/ with the master branch. I tried v2 tag instead and it worked.

So the updated Checkout step is -

- name: Checkout
  uses: actions/checkout@v2

Upvotes: 4

Related Questions