【问题标题】:GitHub Actions Invalid Workflow File ErrorGitHub Actions 无效的工作流文件错误
【发布时间】:2022-01-27 00:52:07
【问题描述】:

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

无效的工作流文件 每一步都必须定义一个使用或运行键

这是我的工作流程在添加 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 是更多详细信息的错误。

【问题讨论】:

    标签: github elixir github-actions elixir-mix


    【解决方案1】:

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

    actions/heroku 的自述文件尚未更新以显示 yaml 工作流程的示例。不过有一个open pull request 来更新它。以下是该拉取请求中的示例,可能会对您有所帮助。

    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
    

    【讨论】:

    • 显然只有“使用”行才算作作业中的“步骤”。 name 前面的破折号很好(?!)但只有第一个 uses 可以带破折号。
    猜你喜欢
    • 2020-01-09
    • 2020-03-20
    • 2023-02-01
    • 2020-01-10
    • 2022-11-02
    • 1970-01-01
    • 2022-08-13
    • 2019-11-28
    • 2021-10-30
    相关资源
    最近更新 更多