YAML (Yet Another Markup Language) is a human-readable data serialization language that is often used for configuration files, data storage, and communication between systems. Below are some basic concepts and tips for working with YAML.

  • YAML is indentation-based, meaning that the indentation of a line indicates its hierarchy and nest within the document.
  • YAML uses whitespace, colons, and hyphens to indicate structure. For example, a hyphen indicates the start of a new list item, and a colon indicates the start of a key-value pair.
  • YAML supports various data types, including strings, numbers, booleans, and null values. Strings can be denoted using either single or double quotes.
  • YAML supports comments, which start with a # symbol and continue until the end of the line.
  • YAML uses anchors (&) and references (*) to reuse values within a document. An anchor is a label that is associated with a value, and a reference is a reference to that label.
  • YAML supports multiline strings, which can be denoted using either the | or > characters. The | character preserves line breaks and leading whitespace, while the > character removes line breaks and condenses the string into a single line.

GitHub Actions are a powerful tool for automating workflow processes on GitHub. Below are some tips for working with GitHub Actions:

  • To create a workflow, you need to create a .yml file in the .github/workflows directory of your repository.
  • Workflows are triggered by events, such as a push to a branch or the creation of a pull request. You can specify the events that trigger a workflow using the on key.
  • Workflows consist of one or more jobs, which are defined using the jobs key. Each job consists of a series of steps, which are defined using the steps key.
  • Steps can be one of three types: actions, shell commands, or annotations. GitHub Actions are predefined tasks that are defined in a separate repository or package, shell commands are executed in a shell environment.
  1. Checkout: The checkout action is used to check out a repository’s code in the GitHub Actions runner environment. This is typically the first step in a workflow and is required for most other actions to work.
- uses: actions/checkout@v2

2. Set up a runtime: The setup-* actions are used to install and set up various runtime environments in the runner environment. For example, you can use the setup-node action to install and set up a Node.js runtime, or the setup-python action to install and set up a Python runtime.

- uses: actions/setup-node@v2

3. Run a script: You can use the run action to execute a script or command in the runner environment. This is often used to build, test, or deploy code.

- name: Run tests
  run: npm test

4. Publish artifacts: The upload-artifact action is used to upload files or directories as artifacts that can be accessed later in the workflow or after the workflow is complete.

- name: Publish build artifacts
  uses: actions/upload-artifact@v2
  with:
    name: build-output
    path: build

5. Use a condition: You can use the if key to specify a condition that must be met in order for a step or group of steps to be executed.

- name: Deploy to production
  if: github.ref == 'refs/heads/main'
  run: deploy-to-production.sh

6. Use environment variables: You can use environment variables to pass data between steps and jobs in a workflow. GitHub Actions provides a number of built-in variables, and you can also define your own variables using the env key.

- name: Set environment variable
  env:
    MY_VAR: value

Download GitHub Action All Cheatsheet

Also read: 10 Best hidden windows hacks that you should know