outsider

Crates.iooutsider
lib.rsoutsider
version
sourcesrc
created_at2025-04-13 20:40:29.909719+00
updated_at2025-04-13 20:40:29.909719+00
descriptionTest artifact changes locally from multiple projects that already use gitlab-art
homepage
repository
max_upload_size
id1632130
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
wcampbell (wcampbell0x2a)

documentation

README

outsider

github crates.io docs.rs build status

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

Example

project A

The following projects depends on project: kosma/foobar-firmware, and we have changes locally that we want to test before pushing to the gitlab repo. We could just cp them, but outsider removes that complexity and uses the artifacts.yml file.

artifacts.yml

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

project B: kosma/foobar-firmware

We have now updated the firmware, good thing we can easily push these changes to the other repo :)

# build build/8051/release/firmware.bin
(kosma/foobar-firmware) $ make

# move artifacts to the correct placement in project-a
(kosma/foobar-firmware) $ outsider ./project-a/artifacts.yml --project kosma/foobar-firmware --source-dir .

Usage

Copy files based on artifacts.yml configuration

Usage: outsider [OPTIONS] --source-dir <SOURCE_DIR> <YAML_FILE>

Arguments:
  <YAML_FILE>  Path to the artifacts.yml file

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

cargo fmt