Skip to content

Latest commit

 

History

History
executable file
·
228 lines (176 loc) · 16.3 KB

DevOps.md

File metadata and controls

executable file
·
228 lines (176 loc) · 16.3 KB

DevOps :: Build automation software, Infrastructure management, Packaging, Release engineering/ management tools, Software configuration management (SCM) software, Software Quality: Quality-Analysis (QA), continuous integration (CI), continuous delivery (CD), Test-Driven-Development (TDD), Behaviour-Driven-Development (BDD), Documentation Driven Development (DDD), Unit testing, et al.


NEWS


INSTALL


BACKPORTS


BUILD AUTOMATION

  • Jake.jl :: Rake for Julia.
  • jlbuild :: A bot that controls the julia buildbots to build releases and perform some additional continous integration on secondary platforms. Ping (@jlbuild) in a comment, PR, issue, etc... and this GitHub comment-based interface to testing buildbots will build the relevant Julia version on all platforms, post download links and even execute small chunks of code across those platforms.
  • Juke.jl :: make in Julia.
  • OpenStack.jl.

CONTINUOUS INTEGRATION

  • Merge your Julia code with mainline to test it on a Travis-CI build server.
  • TestDocs.jl :: A test package to try to automatically build docs on travis.
  • TravisTest.jl :: Repository for testing Julia support at the Travis Continuous Integration (CI) service.

Git-Hooks

Gitlab-CI

  • GitlabJuliaDemo.jl :: A minimal example for setting up CI with Julia on Gitlab. The blog post describing how a Julia package repo in Gitlab can be setup with continuous integration and coverage summary.

JULIA DEVELOPMENT

Helper tools for core julia language development.

  • FemtoCleaner.jl :: The FemtoCleaner app cleans your julia projects by upgrading deprecated syntax, removing version compatibility workarounds and anything else that has a unique upgrade path.
  • HackThatBase.jl :: A helper tool to reload and test modifications to base without recompiling the full system image.
  • PkgSearch :: A Julia REPL utility for package discovery.

Security


Binaries

Pre-compiled Binaries

Containers-Virtualization

Ansible

Docker

  • Docker image for Julia.
  • julia :: Docker Official Image packaging for Julia.
  • RudeOil.jl :: A package to easily interact with docker and docker-machine.

Vagrant

  • julia-vagrant :: Packer/Vagrant script recipes for making virtual machines (VM's) - create Vagrant boxes and Openstack images for performing builds and tests of Julia.

DistrOS

  • Track versions of julia in the Repology service which tracks and compares package versions in more than 120 package repositories.

Debian-Ubuntu

  • APT.jl :: A module to manipulate Debian Advanced Package Tool (APT). It comes with pnlt, an executable that allows to manage package name lists.
  • DebbyPacker.jl :: Set of scripts to easily create debian packages.

Fedora-RHEL

  • Fedora :: Milan Bouchet-Valat (@nalimilan on github) maintains the builds for Fedora 19 and 20, a mirror is also available from the Fedoraprojet site.
  • RPMmd.jl :: A front-end installer for RPM-md packages and a fork of WinRPM.jl.
  • WinRPM.jl :: RPM-md processing library - WinRPM is an installer for RPM packages provided by an RPM-md build system.

PowerPC

OSX

  • Homebrew.jl :: OSX Binary dependency provider for Julia.

Executables

Packaging

Package/Infrastructure management tools and Documentation

  • Official Julia Package list.
  • METADATA.jl :: The official set of Julia packages.
    • MetadataTools.jl :: Functionality to analyze the structure of Julia's METADATA repository.
    • JuliaArchive :: Abandoned packages that no longer have a maintainer or no longer fit into the Julia oraganization that initially hosted the package are listed in the Julia Archive organisation.
  • Pkg3.jl :: Next-generation package manager for Julia.
    • Stefan Karpinski talking about "Pkg3 : Julia's New Package Manager" at JuliaCon 2017.
  • Uncurated :: The official, public, uncurated registry of Julia packages.
  • Julia Ecosystem Status :: Track the status of various parts of the Julia language ecosystem; from nightly binary builds of Julia to automated testing of packages.
  • attobot :: Julia package release bot.
  • Compat.jl :: A package for cross-version compatibility between Julia v0.3 and v0.4 - takes care of syntax breakage and provides compatibility constructs that will work in both versions without warnings.
  • DeclarativePackages.jl :: (jdp for short), allows the project to declaratively specify which Julia packages are being used, with exact version or commit details.
  • EasyPkg.jl :: A Julia package to simplify package development.
  • Help.jl :: Reverse documentation for Julia.
  • julia-buildbot :: Buildbot configuration for build.julialang.org. It is written in Python and is listed by virtue of being a tool used within the Julia ecosystem.
  • julia-require :: Macros to make loading (and reloading) files in Julia easier. {NB: Not maintained for the current Julia releases}.
  • JuliaPackageMirrors :: An organization that mirrors/archives and tracks METADATA - the official Julia package manager for all registered Julia packages.
  • Julz.jl :: Opinionated Framework for Developing Packages.
  • JPM.jl :: Decentralised Julia Packages.
  • Kip.jl :: A metadata free package manager for Julia.
  • LibALPM.jl :: Wrapper for libalpm, the ArchLinux package manager.
  • MetadataTools.jl :: Functionality to analyze the structure of Julia's METADATA repository.
  • NettleBuilder :: BinaryBuilder repo for libnettle.
  • Nix.jl :: Package manager for Julia.
  • PackageEvaluator.jl :: The Julia package evaluator.
  • PkgDev.jl :: Julia Package Development Kit.
  • PkgUtils.jl :: Tools for analyzing Julia packages.
  • Require.jl :: A better module system for Julia.
  • Requires.jl :: A Julia package that will quickly load your package dependencies.
  • VersionParsing.jl :: flexible VersionNumber parsing in Julia.
DOCS

Sandbox

  • JDock :: An IJulia sandboxed by Docker containers.
  • Playground.jl :: A Julia-lang environment builder (like python's virtualenv) package to create Julia sandboxes, similar to python virtual environments.

TDD

  • Digger.jl :: Digger is a fuzz tester designed to fish bugs out of Dagger.jl
  • Fuzz.jl :: A naive fuzzer that can generate bugs.

LOGGING

Regression Testing

UNITTEST

  • BaseTestDeprecated.jl :: Provides the Base.Test functionality removed in Julia v0.5.
  • CoverageBase.jl :: Measuring internal test coverage of the Julia programming language.
  • Coverage.jl :: Take the Julia test coverage results and bundle them up in JSON - it processes a .jl file and its matching .cov file, tracking your Julia packages for test coverage and works with Coveralls, which integrates with TravisCI.
  • Debug.jl :: Prototype interactive debugger for Julia.
  • FactCheck.jl :: Midje-like testing framework written for Julia.
  • Fixtures.jl :: provides fixtures, mocks, matchers and patching to improve your tests with Julia.
  • Jig.jl :: Testing framework for Julia.
  • JLTest :: A unittest framework for Julia (inspired by Python's unittest).
  • JulieTest.jl :: A Julia testing framework inspired by javascript's Mocha. See the Wiki
  • microcoverage :: This module computes code coverage for a Julia program at a more fine-grained level than the built-in coverage feature. Specifically, it provides coverage counts for each branch of the ||, && and ?: operators where they occur. It also counts the number of invocations to statement-functions.
  • Mocking.jl : Allows temporary overwriting of Julia methods for testing purposes.
  • PackageTesting.jl :: A standard for testing Julia packages.
  • RunTests.jl :: A test running framework for Julia that extends Base.Test
  • Saute.jl :: is another testing framework for Julia.
  • testfast.jl :: Automatically finds test files and runs them.
  • UnitTest.jl :: Another unit-testing library for Julia, that provides nose test style output to the command line and is capable of producing an junit compatible xml result file.
  • Watcher.jl:: File watcher in Julia - can be used to auto-run unit tests etc.