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 thesteps
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.
- 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