Commit 765efc4c authored by Ari Trachtenberg's avatar Ari Trachtenberg
Browse files

Update .gitlab-ci.yml

parent 3cd955fc
Loading
Loading
Loading
Loading
Loading
+114 −3
Original line number Diff line number Diff line
stages:          # List of stages for jobs, and their order of execution
  - setup
  - build
  - test
  - compete
 
build-job:       # This job runs in the build stage, which runs first.
collect:
  stage: setup
  script:
    - echo "Fetching code for $GITLAB_USER_LOGIN"
    - curl https://agile.bu.edu/gitlab/configs/ec504-configs/hw3/problem-1-testing/-/archive/master/problem-1-testing-master.tar -o test.tar
    - tar -xvf test.tar
    - cp -f src/edu/bu/ec504/hw3/bst/BSTSet.java problem-1-testing-master/src/edu/bu/ec504/hw1p3/bst
    - cp -f src/edu/bu/ec504/hw3/bst/ExtendedBSTSet.java problem-1-testing-master/src/edu/bu/ec504/hw1p3/bst
    - cp -f src/edu/bu/ec504/hw3/bst/BSTOptimized.java problem-1-testing-master/src/edu/bu/ec504/hw1p3/bst
    - cd problem-1-testing-master/src
  artifacts:
    paths:
      - problem-1-testing-master/src/
  tags: [java]

compile_BSTSet:
  stage: build
  script:
    - echo "Compiling BSTSet code for $GITLAB_USER_LOGIN"
    - cd problem-1-testing-master/src
    - javac edu/bu/ec504/hw3/bst/BSTSet.java
  dependencies:
    - setup
  artifacts:
    paths:
      - problem-1-testing-master/src/
  rules:
    - exists:
      - src/edu/bu/ec504/hw3/bst/BSTSet.java
  tags: [java]

compile_ExtendedBSTSet:
  stage: build
  script:
    - echo "Compiling ExtendedBSTSet code for $GITLAB_USER_LOGIN"
    - cd problem-1-testing-master/src
    - javac edu/bu/ec504/hw3/bst/ExtendedBSTSet.java
  dependencies:
    - setup
  artifacts:
    paths:
      - problem-1-testing-master/src/
  rules:
    - exists:
      - src/edu/bu/ec504/hw3/bst/ExtendedBSTSet.java
  tags: [java]

compile_BSTOptimized:
  stage: build
  script:
    - echo "This should build the code ... when it is ready ..."
    - echo "Compile complete."
 No newline at end of file
    - echo "Compiling BSTOptimized code for $GITLAB_USER_LOGIN"
    - cd problem-1-testing-master/src
    - javac edu/bu/ec504/hw3/bst/BSTOptimized.java
  dependencies:
    - setup
  artifacts:
    paths:
      - problem-1-testing-master/src/
  rules:
    - exists:
      - src/edu/bu/ec504/hw3/bst/BSTOptimized.java
  tags: [java]

test_BSTSet:
  stage: test
  script:
    - echo "Testing BSTSet code for $GITLAB_USER_LOGIN"
    - cd problem-1-testing-master/src
    - javac edu/bu/ec504/hw3/Tests/TestBSTSet.java
    - java edu/bu/ec504/hw3/Tests/TestBSTSet
  dependencies:
    - compile_BSTSet
  tags: [java]

test_Parent:
  stage: test
  script:
    - echo "Testing ExtendedBSTSet - parent pointer code for $GITLAB_USER_LOGIN"
    - cd problem-1-testing-master/src
    - javac edu/bu/ec504/hw3/Tests/TestExtendedBST/TestParentPointer.java
    - java edu/bu/ec504/hw3/Tests/TestExtendedBST/TestParentPointer
  dependencies:
    - compile_ExtendedBSTSet
  tags: [java]

test_Rotation:
  stage: test
  script:
    - echo "Testing ExtendedBSTSet - rotation code for $GITLAB_USER_LOGIN"
    - cd problem-1-testing-master/src
    - javac edu/bu/ec504/hw3/Tests/TestExtendedBST/TestRotation.java
    - java edu/bu/ec504/hw3/Tests/TestExtendedBST/TestRotation
  dependencies:
    - compile_ExtendedBSTSet
  tags: [java]

competition:
  stage: compete
  script:
    - echo "Running competition for $GITLAB_USER_LOGIN"
    - echo "TIMEOUT set to 5 minutes"
    - curl -o "temp.tar" "https://agile.bu.edu/local/ec504/hw3/p1/problem-1-staff.tar";
    - tar -xvf temp.tar
    - cp -f src/edu/bu/ec504/hw3/bst/BSTSet.java problem-1-staff/src/edu/bu/ec504/hw1p3/bst
    - cp -f src/edu/bu/ec504/hw3/bst/ExtendedBSTSet.java problem-1-staff/src/edu/bu/ec504/hw1p3/bst
    - cp -f src/edu/bu/ec504/hw3/bst/BSTOptimized.java problem-1-staff/src/edu/bu/ec504/hw1p3/bst
    - cd problem-1-staff/src
    - javac edu/bu/ec504/hw3/Tests/TestOptimized.java
    - java edu/bu/ec504/hw3/Tests/TestOptimized $GITLAB_USER_LOGIN
  dependencies:
    - compile_BSTOptimized
  tags: [java]
  timeout: 5 minutes