Pedro
Pedro

Reputation: 1060

GitHub Action - AWS CLI

Recently the following GitHub Action has been deprecated with a deletion date already established at end of month (2019-12-31). The issue is, there is no "official" alternative yet (should be here). My questions are:

  1. Does someone know if the "official" action will be released before 2019-12-31?

  2. Is there an alternative?

Upvotes: 31

Views: 47926

Answers (5)

CVish
CVish

Reputation: 536

aws-cli package is available in GitHub-hosted virtual environments. (aws-cli/1.16.266 Python/2.7.12 Linux/4.15.0-1057-azure botocore/1.13.2)

Make sure to set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY in environment variables. You can use Github secrets to store these credentials securely.

- name: Upload to S3
  run: |
    aws s3 sync ./build s3://test-bucket
  env:
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    AWS_DEFAULT_REGION: 'ap-south-1'

Upvotes: 42

juftin
juftin

Reputation: 91

The AWS CLI will come preinstalled on GitHub Actions environments. More information can be found in the actions/virtual-environments repository. In my case I needed the latest possible version of the CLI. I followed the AWS CLI Install documentation and added the following step to a workflow running on ubuntu/latest:

-   name: Install AWS CLI v2
    run:  |
          curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip
          unzip -q /tmp/awscliv2.zip -d /tmp
          rm /tmp/awscliv2.zip
          sudo /tmp/aws/install --update
          rm -rf /tmp/aws/

Upvotes: 9

Ivar
Ivar

Reputation: 4891

An alternative to default awscli, or using third party actions is to configure python and install the awscli at the time of the build:

name: Sync to S3 bucket
on: [push]
jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: '3.7'
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install awscli
      - run: aws s3 sync builddir s3://foobar --region eu-west-1 --cache-control max-age=0 --acl public-read --delete
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

"Github Actions > Building and testing Python" docs on Github https://docs.github.com/en/actions/guides/building-and-testing-python

Upvotes: 3

Pedro
Pedro

Reputation: 1060

From GitHub documentation the aws-cli is already available directly on the host image.

It would be nice if this information were available on the deprecation notice ¯\_(ツ)_/¯

Upvotes: 11

smac89
smac89

Reputation: 43068

The repo was updated yesterday with the following new deprecation notice:

This action has been deprecated in favor of https://github.com/aws-actions. This repo has been archived and will be made private on 12/31/2019

Upvotes: 0

Related Questions