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