Використання if умов для виконання jobs і steps за певних умов

Однією з ключових можливостей GitHub Actions є можливість умовного виконання завдань (jobs) та кроків (steps) у workflow. Це дозволяє більш гнучко керувати процесами, запобігаючи непотрібному виконанню певних дій залежно від результатів попередніх кроків або зовнішніх факторів.

Як працюють умови if?

Умови if дозволяють вам контролювати виконання кроків або завдань залежно від результату інших дій або від інших умов. В if можна використовувати різні вирази, які GitHub оцінює як true або false. Якщо вираз у if повертає true, крок або завдання виконується; якщо false — пропускається.

Приклад:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Run tests
        run: npm test
      - name: Deploy to production
        if: success()
        run: npm run deploy

У цьому прикладі крок Deploy to production буде виконано лише, якщо всі попередні кроки завершаться успішно.

Використання функцій failure(), success(), canceled(), і always() для керування

GitHub Actions надає кілька вбудованих функцій, які допомагають у керуванні умовами виконання кроків та завдань:

Використання оператора continue-on-error: Цей оператор дозволяє продовжити виконання jobs або steps, навіть якщо попередній крок завершився з помилкою. Він може бути особливо корисним у випадках, коли деякі кроки є необов'язковими або ви хочете завершити весь workflow, навіть якщо одна з його частин не вдалася. Приклад використання:

yamlКопіювати код
jobs:
  example-job:
    runs-on: ubuntu-latest
    steps:
      - name: Run a script
        run: some-command
        continue-on-error: true

Використання continue-on-error: true забезпечує, що наступні кроки продовжать виконуватися, навіть якщо поточний крок зазнає невдачі.

Використання логічних операторів && та ||

Для більш складних умов виконання можна використовувати логічні оператори && (AND) та || (OR), щоб комбінувати кілька умов в одне правило.