superfly / flyctl-actions

:octocat: GitHub Action that wraps the flyctl
Apache License 2.0
260 stars 33 forks source link

How to sign in inside Github Actions? #30

Closed SeiwonPark closed 1 year ago

SeiwonPark commented 1 year ago

Problem

Error failed to fetch an image or build from source: error rendering push status stream: no basic auth credentials

How could I acheive authentication inside workflow files? I'd like to make it deployed automatically whenever I push my code.

Code

name: Deploy aws-s3-generator to fly.io
on:
  push:
    branches:
      - main
jobs:
  deploy:
    name: Deploy app
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: superfly/flyctl-actions/setup-flyctl@master
      - run: flyctl deploy -t ${{ secrets.FLY_API_TOKEN }} --remote-only
        env:
          FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

Check Lists

What I've Tried

Try 1

name: Deploy aws-s3-generator to fly.io
on:
  push:
    branches:
      - main

jobs:
  deploy:
    name: Deploy app
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: superfly/flyctl-actions/setup-flyctl@master
      - name: Fly.io Authentication and Deployment
        run: |
          flyctl auth login --email "$env:FLY_EMAIL" --password "$env:FLY_PASSWORD"
          flyctl deploy --remote-only
        env:
          FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}   
          FLY_EMAIL: ${{ secrets.FLY_EMAIL }}
          FLY_PASSWORD: ${{ secrets.FLY_PASSWORD }}       
          DJANGO_SECRET_KEY: ${{ secrets.DJANGO_SECRET_KEY }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_ARN_ROLE: ${{ secrets.AWS_ARN_ROLE }}

which resulted in

Error failed retrieving access token: Incorrect email and password combination

(But it works fine in my local terminal)

Try 2

name: Deploy to Fly
on: [push]
jobs:
  deploy:
    name: Deploy proxy
    runs-on: ubuntu-latest
    steps:
      # This step checks out a copy of your repository.
      - uses: actions/checkout@v2
      - uses: superfly/flyctl-actions/setup-flyctl@master
      - run: flyctl deploy --remote-only
        env:
          FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

base code from https://github.com/superfly/flyctl-actions but still doesn't work.

Error No access token available. Please login with 'flyctl auth login'

And some other tries resulted in nothing... Any solutions for this?