When an action runs, or an event occurs, it acts upon a file or a set of files. These files are called artifacts. These artifacts are used in later steps in the pipeline. For example, a source action will output the latest version of the code as a source artifact, which the build action will read in. Following the compilation, the build action will upload the build output as another artifact, which will be read by the later deployment actions.