outsider 0.4.1

Test artifact changes locally from multiple projects that already use gitlab-art
outsider-0.4.1 is not a library.

outsider

Test artifact changes locally from multiple projects that already use gitlab-art.

Build

Either build from published source in crates.io.

$ cargo install outsider --locked

Or download from github releases.

Example

project-a depends on artifacts from kosma/foobar-firmware. You've made changes to the firmware and want to test them locally in project-a before pushing to GitLab.

project-a/artifacts.yml

- project: kosma/foobar-firmware
  ref: 1.4.0
  job: firmware-8051
  install:
    build/8051/release/firmware.bin: artifacts/blobs/firmware-8051.blob

Running from the library

From the firmware repo, just run:

# build the firmware
$ make

# copy to project-a
$ outsider ../project-a/artifacts.yml
Processing project: kosma/foobar-firmware
Copying file from "./build/8051/release/firmware.bin" to "../project-a/artifacts/blobs/firmware-8051.blob"

Running from the binary

From project-a, use --source-dir to specify the firmware directory:

# from project-a
$ outsider --source-dir ../kosma/foobar-firmware
Processing project: kosma/foobar-firmware
Copying file from "../kosma/foobar-firmware/build/8051/release/firmware.bin" to "artifacts/blobs/firmware-8051.blob"

Usage

Copy files based on artifacts.yml configuration

Usage: outsider [OPTIONS] [YAML_FILE]

Arguments:
  [YAML_FILE]  Path to the artifacts.yml file (artifacts extract to this file's directory) [default: artifacts.yml]

Options:
  -p, --project <PROJECT>        Only process projects whose name contains this string
  -s, --source-dir <SOURCE_DIR>  Source directory to copy files from
  -h, --help                     Print help
  -V, --version                  Print version