GitHub 操作无效的工作流文件错误

GitHub Actions Invalid Workflow File Error

我开始使用 GitHub 动作,我能够为 Elixir 设置一个 CI 管道,动作构建和测试没有任何问题。我还想使用 heroku 操作部署应用程序,所以我继续添加了 GitHub 中可用的应用程序,但在这样做之后我收到以下错误:

无效的工作流文件 每一步都必须定义一个uses or 运行 key

这是我的工作流在添加 heroku 操作之前的样子:

name: Elixir CI

on: push

jobs:
  build:

    runs-on: ubuntu-latest

    container:
      image: elixir:1.9.1-slim

    steps:
    - uses: actions/checkout@v1
    - name: Install Dependencies
      run: |
        mix local.rebar --force
        mix local.hex --force
        mix deps.get

  test:

    runs-on: ubuntu-latest

    services:
      db:
        image: postgres:11
        ports: ['5432:5432']
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    steps:
      - uses: actions/checkout@v1.0.0
      - uses: actions/setup-elixir@v1.0.0
        with:
          otp-version: 22.x
          elixir-version: 1.9.x
      - run: mix deps.get
      - run: mix test

这就是我添加 heroku 操作的方式

  deploy:

      runs-on: ubuntu-latest

      steps:
        - uses: actions/heroku@1.0.0
        - name: GitHub Action for Heroku    
        - run: |
            heroku login

          env:
            CI: true

Here 是更多详细信息的错误。

您定义步骤的地方 - 太多。作业中每个步骤应该只有一个 -

actions/heroku hasn't been updated yet to show an example for yaml workflows. There is an open pull request 的 README 用于更新它。以下是该拉取请求中的示例,可能会对您有所帮助。

on: push
name: Deploy to Heroku
jobs:
  release:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: login
      uses: actions/heroku@master
      env:
        HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
      with:
        args: container:login
    - name: push
      uses: actions/heroku@master
      env:
        HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
      with:
        args: container:push -a calm-fortress-1234 web
    - name: release
      uses: actions/heroku@master
      env:
        HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
      with:
        args: container:release -a calm-fortress-1234 web