Skip to content

Releases: AutolabJS/AutolabJS

AutolabJS v0.5.0

16 Jan 05:36
b5ff03e
Compare
Choose a tag to compare
  1. Updates the socket.io dependency to v2.2.0. (PR #325)

  2. Use of custom docker images from AutolabJS release (PR #314)
    The docker images from upstream providers such as Ubuntu, MySQL and Gitlab are continuously getting
    updated leading to installation problems.
    With a view to control the installation outcome, a custom set of docker images have been spun up for
    AutolabJS. Each new release of AutolabJS shall have a set of custom docker images to be used.

  3. Improves install Process (PR #310, PR #316, PRs #323)

    • upgrade install scripts to be compatible with Ansible 2.8.
    • Converts AutolabJS configs to Ansible Jinja2 templates. Now it is much simpler to add new execution
      nodes on a single host.
    • Updates the docker playbooks to pull and load the correct docker images of v0.5.0 from
      AutolabJS docker registry. The new containers use Ubuntu 18.04 and NodeJS 10.x.
    • Updates the uninstall playbook to work with the new container images.
    • Manages cron job as part of Ansible installation setup.
    • Enforces Ansible naming conventions in playbooks.
    • Adds support for UFW firewall management in installation setup.
    • The script for SSL key generation has been replaced with Ansible playbooks. The keys.sh script
      is only needed for tests.
    • Updates dependency.yml to work on Ubuntu 18.04 OS
  4. Converts html pages of main server into Jinja2 template files (PR #320).
    The updated hyperlinks on main server pages are now created from the information placed in
    Ansible inventory file, "single_machine".

  5. Travis update (PR #319)

    • Upgrades to Ubuntu Xenial OS 16.04 and Node.js 10.14.2 in travis builds.
  6. Relocates markdowns to .github/ directory (PR #319)

  7. Improvements to developer setup (PR #310, PR #316)

    • Updates the Developer environment setup scripts
    • Updates the deploy/dev_setup scripts to use the latest Ansible scripts
    • Updates README of the developer setup
  8. Fixes MySQL client and Updates MySQL container (commits: 049aa49, da72ce2)

    • Updates the name of the MySQL container to "autolabjs-db"
    • Adds MySQL client login credentials using Jinja2 template. This removes the need to specify
      MySQL login credentials at command line.
    • The MySQL container has also been downgraded to v5.7.4. This rollback of container
      ensures successful install of the software.
    • Fixes permissions issue in autolabjs-db container.

Unfortunately, there have been some regressions.

  1. The deployment tests fail for the new setup. The causes are yet unknown.
  2. MySQL server has been downgraded to v5.7.4. There have been some breaking changes in the volume mappings and permissions of MySQL docker container.
  3. The travis build fails because of breaking changes in the travis environment. The problem is due to the way JAVA_OPTIONS are setup on travis build VM.

This version of AutolabJS has a dedicated documentation page.

AutolabJS v0.4.0

04 Oct 11:38
Compare
Choose a tag to compare

Improvements made in this version of AutolabJS are:

  1. Increase the default number of execution nodes from five to ten.
  2. Significant improvements to Ansible install scripts. The new structure follows coding conventions
    suggested by Ansible documentation and removes code duplication.
  3. Deployment checks added in the post-install checklist.
    These checks make sure that the software has been installed and configured correctly.
  4. Consolidates all the application logs to one directory.
  5. Consolidates all the application data to one directory.
  6. Renames the database used to AutolabJS.
  7. Upgrades the node.js server to node v8.11 in all the containers.
  8. Updates the jQuery library used by website to v3.3.1. This version upgrade fixes certain vulnerabilities
    in jQuery library.
  9. Updates to the project templates to smoothen the process of code contributions.
  10. New gitlab.js module developed for interacting with GitLab. This module is used at present in deployment checks and it will prove useful in future in Autolabcli.
  11. Migrate the code test coverage reporting to codecov.io website. This website offers integrated code
    coverage reporting for unit, integration and functional tests.
  12. New modular test structure has been put in place to integrate unit, integration and functional tests into
    one coherent structure. The new test structure has been explained on the test structure wiki page.
  13. Adds component tests for execution node and load balancer components.

This version of AutolabJS has a dedicated documentation page.

All of these changes have been made possible by contributions from Ankshit Jain and Shivin Thukral.

AutolabJS v0.3.0

10 Jan 01:24
Compare
Choose a tag to compare

Improvements made in this version of AutolabJS are:

  1. Configurable installation location. By default installation happens in "/opt/autolabjs"
  2. Installs five execution nodes by default
  3. Upgrades the node.js server to node v8.9 in all the containers
  4. Adds a generic logger utility based on Winston logger. The utility is available to all the AutolabJS components. We are yet to take full advantage of the logger utility.
  5. Code quality improvements made to all the shell scripts in the project.
  6. Documentation added and improved for all the shell scripts.
  7. Status check message improved and converted to JSON format.
  8. The configuration file format has been updated.
  9. The names of the configuration files have been moved out of the code components into the environment variables.
  10. Updates the project license to GPL v3.0.

This version of AutolabJS has a dedicated documentation page.

All of these changes have been made possible by contributions from Ankshit Jain.

Autolab v0.2.1

08 Sep 14:22
Compare
Choose a tag to compare

New features of this release are:

  • Expanded userids - now students can have 30-character userids.
  • Installation scripts updated to generate fresh SSH and SSL keys for each new installation.
  • Improvements in the testing structure to avoid trivial failures
  • Now I/O tests support any number of test cases (previously we could support a maximum of ten test cases by default).
  • New JUnit-based unit test structure in place.
  • Protection against missing student and author repositories during an evaluation.
  • More functional tests on the AutolabJS software to increase the reliability of AutolabJS.

This version of AutolabJS has a dedicated documentation page.

All of these changes have been made possible by contributions from Ankshit Jain and Vinamra Bhatia.

AutolabJS v0.2.0

21 May 14:52
Compare
Choose a tag to compare

New features in this release are:

  • The software has been renamed from Autolab to AutolabJS to avoid confusion with the CMU's excellent Autolab product.
  • This release supports automatic evaluation in Java, Python2, Python3, C++ and C programming languages.
  • The installation has been automated with Ansible.
  • Evaluation log is made available to the user on website
  • Setting up of development environment is made easier using vagrant + virtualbox combination

Autolab v0.1

05 Apr 07:24
Compare
Choose a tag to compare

This version of Autolab supports evaluation of Java programs. The installation setup is completely manual. Please see the supporting documentation to use this release.