Skip to content

Releases: qryxip/cargo-compete

v0.8.8

10 Mar 18:25
da72513
Compare
Choose a tag to compare

Added

v0.8.7

26 Feb 13:54
cc6ebb0
Compare
Choose a tag to compare

Changed

  • Made Extend::SystemTestCases.problem optional. (#qryxip/snowchains#133, #141)

     extend:
       - type: SystemTestCases
    -    problem: https://atcoder.jp/contests/agc001/tasks/agc001_a

Fixed

v0.8.6

25 Feb 16:41
d13a85c
Compare
Choose a tag to compare

Added

  • Added SystemTestCases variant to extend in test suite files. (qryxip/snowchains#131, #138)

    System test cases are stored under { cache directory }/cargo-compete/system-test-cases.
    They are automatically downloaded if missing when testing code.

    extend:
      - type: SystemTestCases
        problem: "https://atcoder.jp/contests/abc191/tasks/abc191_a"

Changed

  • cargo compete test command without --full option will append { type: Text, ... } to extend and will create empty in and out directories. (#138)

    cargo compete n arc110 --problems a
        Created `arc110` package at /home/ryo/src/competitive/atcoder/./arc110
        Saved 2 test cases to /home/ryo/src/competitive/atcoder/./arc110/testcases/{a.yml, a/}tree ./arc110/testcases
    ./arc110/testcases
    ├── a
    │   ├── in
    │   └── out
    └── a.yml
    
    3 directories, 1 file
    ---
    type: Batch
    timelimit: 2s
    match: Lines
    
    cases:
      - name: sample1
        in: |
          3
        out: |
          7
      - name: sample2
        in: |
          10
        out: |
          39916801
    
    extend:
      - type: Text
        path: "./a"
        in: /in/*.txt
        out: /out/*.txt
  • SystemTestCases will be used for --full option. (#138)

Fixed

  • Fixed a problem where cargo compete download command saves nothing. (#139)

v0.8.5

23 Feb 17:08
e40342a
Compare
Choose a tag to compare

v0.8.4

19 Feb 12:05
b895e5d
Compare
Choose a tag to compare

Added

  • Added template field to compete.toml.

    [template]
    src = '''
    fn main() {
        todo!();
    }
    '''
    
    [template.new]
    profile = '''
    [dev]
    opt-level = 3
    '''
    dependencies = '''
    proconio = { version = "=0.3.6", features = ["derive"] }
    # ...
    '''
    
    [template.new.copy-files]
    "./template-cargo-lock.toml" = "Cargo.lock"
  • Made new and new.template optional.

Deprecated

  • Deprecated the new.template config.

    Use template instead.

Fixed

v0.8.3

18 Feb 14:31
ebe155e
Compare
Choose a tag to compare

Added

  • cargo-compete now reads these environment variables if they exist, and use them. (#129)

    • $DROPBOX_ACCESS_TOKEN
    • $YUKICODER_API_KEY
    • $CODEFORCES_API_KEY
    • $CODEFORCES_API_SECRET

Fixed

  • Added #[serde(default)] to PartialBatchTestCase::out: Option<Arc<str>>. (qryxip/snowchains/#128)

    Previously, explicit out: ~ had been allowed but the field itself was required.

v0.8.2

15 Feb 18:42
1779ca0
Compare
Choose a tag to compare

Added

  • Added Checker variant to Match. (qryxip/snowchains#124)

    match:
      Checker:
        cmd: cat "$ACTUAL_OUTPUT" | cargo run --bin check-a
        shell: Bash
    match:
      Checker:
        cmd: ~/.cache/online-judge-tools/library-checker-problems/math/sqrt_mod/checker "$INPUT" "$ACTUAL_OUTPUT" "$EXPECTED_OUTPUT"
        shell: Bash

v0.8.1

14 Feb 05:53
f8509a1
Compare
Choose a tag to compare

Fixed

  • Added a workaround for large process input/output. (qryxip/snowchains#121)

  • Fixed a problem where string values in YAMLs are unnecessarily quoted. (qryxip/snowchains#121)

    This problem was caused by a change in serde-yaml v0.8.16, which was released in February 2, 2021.

v0.8.0

24 Jan 20:20
4349ecc
Compare
Choose a tag to compare

Added

  • Added add command. (#114)

    # for Library-Checker
    [add]
    url = "https://judge.yosupo.jp/problem/{{ args[0] }}"
    #is-contest = ["false"] # optional
    bin-name = '{{ args[0] }}'
    #bin-alias = '{{ args[0] }}' # optional
    #bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional
    cargo compete a --full many_aplusb
        Running `/home/ryo/tools/python/3.8.6/oj/bin/oj-api get-problem 'https://judge.yosupo.jp/problem/many_aplusb' --system` in /home/ryo/src/competitive/library-checker
        Added `many_aplusb` (bin) for https://judge.yosupo.jp/problem/many_aplusb
        Saved 7 test cases to /home/ryo/src/competitive/library-checker/testcases/{many_aplusb.yml, many_aplusb/}
    # for yukicoder
    [add]
    url = '{% case args[0] %}{% when "contest" %}https://yukicoder.me/contests/{{ args[1] }}{% when "problem" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'
    is-contest = ["bash", "-c", '[[ $(cut -d / -f 4) == "contests" ]]'] # optional
    bin-name = '{% assign segments = url | split: "/" %}{{ segments[5] }}'
    #bin-alias = '{% assign segments = url | split: "/" %}{{ segments[5] }}' # optional
    #bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional
    cargo compete a contest 296
        Added `1358` (bin) for https://yukicoder.me/problems/no/1358
        Added `1359` (bin) for https://yukicoder.me/problems/no/1359
        Added `1360` (bin) for https://yukicoder.me/problems/no/1360
        Added `1361` (bin) for https://yukicoder.me/problems/no/1361
        Added `1362` (bin) for https://yukicoder.me/problems/no/1362
        Added `1363` (bin) for https://yukicoder.me/problems/no/1363
        Added `1364` (bin) for https://yukicoder.me/problems/no/1364
        Added `1365` (bin) for https://yukicoder.me/problems/no/1365
        Saved 1 test case to /home/ryo/src/competitive/yukicoder/testcases/1358.yml
        Saved 3 test cases to /home/ryo/src/competitive/yukicoder/testcases/1359.yml
        Saved 3 test cases to /home/ryo/src/competitive/yukicoder/testcases/1360.yml
        Saved 3 test cases to /home/ryo/src/competitive/yukicoder/testcases/1361.yml
        Saved 3 test cases to /home/ryo/src/competitive/yukicoder/testcases/1362.yml
        Saved 1 test case to /home/ryo/src/competitive/yukicoder/testcases/1363.yml
        Saved 3 test cases to /home/ryo/src/competitive/yukicoder/testcases/1364.yml
        Saved 3 test cases to /home/ryo/src/competitive/yukicoder/testcases/1365.ymlcargo compete a problem 9001
        Added `9001` (bin) for https://yukicoder.me/problems/no/9001
        Saved 1 test case to /home/ryo/src/competitive/yukicoder/testcases/9001.yml

Changed

  • Made package.metadata.cargo-compete.config optional. (#112)

    [package.metadata.cargo-compete]
    -config = "../compete.toml"
  • Added new formats for package.metadata.cargo-compete.bin. (#113)

    [package.metadata.cargo-compete.bin]
    practice-a = { alias = "a", problem = "https://atcoder.jp/contests/practice/tasks/practice_1" }
    practice-b = { alias = "b", problem = "https://atcoder.jp/contests/practice/tasks/practice_2" }
    [package.metadata.cargo-compete.bin]
    practice-a = { problem = "https://atcoder.jp/contests/practice/tasks/practice_1" }
    practice-b = { problem = "https://atcoder.jp/contests/practice/tasks/practice_2" }

    The old format is still valid.

Fixed

  • Fixed a problem about hyphen-separated contest IDs. (#114)

v0.7.1

21 Jan 18:55
7ec1446
Compare
Choose a tag to compare
Release v0.7.1