Commit Graph
32 Commits
Author SHA1 Message Date
Grzegorz Bizon df25c19699 Use Ci config validation helpers only where needed 2016-06-07 12:58:32 +02:00
Grzegorz Bizon 6bd67f5212 Do not process new Ci config entry when invalid 2016-06-07 12:48:26 +02:00
Grzegorz Bizon e8f995ef26 Pass root Ci config entry to each subsequent entry 2016-06-07 12:13:22 +02:00
Grzegorz Bizon 69a3755c5a Add Ci config entry that implements Null Object 2016-06-07 11:58:02 +02:00
Grzegorz Bizon b95c60a071 Do not process Ci config node when node is a leaf 2016-06-07 11:26:39 +02:00
Grzegorz Bizon 940763e0e7 Use CI config errors from new processor in legacy one 2016-06-06 20:56:58 +02:00
Grzegorz Bizon a3c0745514 Collect errors from all nodes in new CI config 2016-06-06 11:59:25 +02:00
Grzegorz Bizon 6dbd1c86a8 Validate new before script CI configuration entry 2016-06-06 11:33:45 +02:00
Grzegorz Bizon 251dd571df Extract CI config validation helpers to mixin 2016-06-06 11:05:15 +02:00
Grzegorz Bizon 8048dcc8e6 Implement CI configuration nodes tree processing 2016-06-06 10:43:11 +02:00
Grzegorz Bizon 7f2f683eeb Rename ci config module that holds nodes to Node 2016-06-06 09:24:16 +02:00
Grzegorz Bizon 6609589b93 Add ci config global and before_script entries 2016-06-06 09:05:00 +02:00
Grzegorz Bizon 23030439c2 Rename class that loads CI configuration to Loader 2016-06-06 08:20:55 +02:00
Grzegorz Bizon d2b708ac43 Extract CI config YAML parser to a separate class
With this approach it would be easier to add different sources of
configuration, that we do not necessairly have to be in YAML format.
2016-06-03 21:10:50 +02:00
Grzegorz Bizon d501850e05 Add gitlab ci configuration class that holds hash
As for now, we keep this class inside a oryginal config processor class.
We will move implementation to this class and delegate to it from
current config processor.

After original gitlab ci yaml processor not longer has relevant
impelemntation we will replace it with new configuration class.
2016-06-03 14:20:34 +02:00
Grzegorz Bizon 0ea017d997 Enable Style/WhileUntilDo rubocop style cop
See #17478
2016-05-30 11:37:14 +02:00
Kamil Trzcinski 9b0f57781e Add method that calculates total size for artifacts subfolder 2016-01-20 21:55:13 +01:00
Grzegorz Bizon be764a3a20 Minor improvements in build arfifacts browser
Added also a `Gitlab::Ci::Build::Artifacts::Metadata::ParserError`
exception class.
2016-01-14 12:48:17 +01:00
Grzegorz Bizon 0d6e7b9d3d Use Hash to store paths and entries metadata in artifacts browser 2016-01-14 12:48:17 +01:00
Grzegorz Bizon ad2b0358e0 Improve readability of artifacts Metadata related code 2016-01-14 12:48:17 +01:00
Grzegorz Bizon 6b0a43aff3 Improve readability of artifacts browser Entry related code 2016-01-14 12:48:17 +01:00
Grzegorz Bizon 3f0c18f80e Simplify encoding related implementation in artifacts metadata 2016-01-14 12:48:17 +01:00
Grzegorz Bizon a9783c439b Make encoding of paths returned by metadata consistent (UTF-8) 2016-01-14 12:48:16 +01:00
Grzegorz Bizon 487b0a026f Improvements, readability for artifacts browser 2016-01-14 12:48:16 +01:00
Grzegorz Bizon 2be76355ca Support only valid UTF-8 paths in build artifacts browser 2016-01-14 12:48:16 +01:00
Grzegorz Bizon ffee05c242 Improve invalid build artifacts metadata path matcher 2016-01-14 12:48:16 +01:00
Grzegorz Bizon 09a4a5aff8 Render only valid paths in artifacts metadata
In this version we will support only relative paths in artifacts
metadata. Support for absolute paths will be introduced later.
2016-01-14 12:48:16 +01:00
Grzegorz Bizon 61fb47a432 Simplify implementation of build artifacts browser (refactoring) 2016-01-14 12:48:15 +01:00
Grzegorz Bizon 387b27813d Change format of artifacts metadata from text to binary 0.0.1
This changes the format of metadata to handle paths, that may contain
whitespace characters, new line characters and non-UTF-8 characters.

Now those paths along with metadata in JSON format are stored as
length-prefixed strings (uint32 prefix).

Metadata file has a custom format:

1.   First string field is metadata version field (string)
2.   Second string field is metadata errors field (JSON strong)
3.   All subsequent fields is pair of path (string) and path metadata
     in JSON format.

Path's metadata contains all fields that where possible to extract from
ZIP archive like date of modification, CRC, compressed size,
uncompressed size and comment.
2016-01-14 12:48:15 +01:00
Grzegorz Bizon 1b1793c253 Show file size in artifacts browser using metadata 2016-01-14 12:48:15 +01:00
Grzegorz Bizon a5e1905d28 Render 404 when artifacts path is invalid 2016-01-14 12:48:15 +01:00
Grzegorz Bizon a7f99b67a0 Extract artifacts metadata implementation to separate class 2016-01-14 12:48:15 +01:00