This is an old revision of the document!


Struktura

definuje se v .github/workflows, napr. build_workflow.yml

name: JMENO
run-name: nepovinne - delší popis
on: push
env:
  promenna1: hodnota1
  
jobs:
 unikátní_název_jobu:
   runs_on: windows-latest
   outputs:
     cislo: ${{ steps.vystup.outputs.promenna }}
   steps:
   - run: echo "ahoj, promenna1: ${{env.promenna1}}"
   - run: echo "promenna=3" >> $GITHUB_OUTPUT
     id: vystup
   - name: failure
     id: aaa
     run: exit 1
   - name: If block
     if: ${{ failure() && steps.aaa.conclusion == 'failure' }}

Proměnné

${{runner.os}}

on sekce

push.branches: -master, 'releases/**' … nastavení push requestu v určitých GIT větvích
pull_request.branches: - master, develop … pull requesty
workflow_dispach: …

workflow_call

workflow_call

inputs:
  config-path:
    required: true
    type: string
secrets:
  token:
    required: true

workflow_call.outputs.PRVNI.description: “popis”
workflow_call.outputs.PRVNI.value: ${{ job.EXAMPLE.outputs.output1 }}

jobs

job

runs_on: ubuntu-latest … na jakém agentoviúworkeru job pojede

outputs: … vystupy
outputs.vystup1: ${{ steps.step1.outputs.proměnná }}

if: github.ref_name == 'master' … podmínka pro spuštění jobu

stragegy: … strategie
strategy.matrix.target: [dev, stage, prod]

permissions:
permissions.contents: read
permissions.pull-requests: write

uses: octo-org/another-repo/.github/workflows/workflow.yml@v1 … volání jiného workflow
uses.with.config-path: .github/configdata.yml
uses.secrets:envPAT: ${{ secrets.envPAT }}

steps:

Kroky, steps

run

spustí příkaz

actions/cache

uses: actions/cache@v1.2.1 with:
path: ~/.m2
\_\_key: ${{ runner.os }}-cache
restore-keys: ““

actions/checkout
actions/setup-node@v3
actions/setup-java

with.java-version: '11'
with.distribution: 'temurin'
with.cache: 'maven'