ch-image build: comments within multi-line commands break parsing
Within a Dockerfile it is possible to put a comment within a multi-line command thereby keeping the comment close to the action to which it is referring. With docker as the builder this works but not with `CH_BUILDER=ch-grow`. This can be demonstrated with the following example Dockerfile: ```dockerfile FROM debian:latest RUN touch /example.txt \ # This is a comment within a multi-line command && rm /example.txt ``` With ch-grow this results in the following output: ``` building with: ch-grow growing: /var/tmp/ch-grow/img/ch-grow:latest Traceback (most recent call last): File "/home/heasterday/charliecloud/bin/ch-grow", line 680, in <module> main() File "/home/heasterday/charliecloud/bin/ch-grow", line 197, in main tree = parser.parse(text) File "/home/heasterday/.local/lib/python3.8/site-packages/lark/lark.py", line 333, in parse return self.parser.parse(text, start=start) File "/home/heasterday/.local/lib/python3.8/site-packages/lark/parser_frontends.py", line 194, in parse return self._parse(text, start) File "/home/heasterday/.local/lib/python3.8/site-packages/lark/parser_frontends.py", line 54, in _parse return self.parser.parse(input, start, *args) File "/home/heasterday/.local/lib/python3.8/site-packages/lark/parsers/earley.py", line 292, in parse to_scan = self._parse(stream, columns, to_scan, start_symbol) File "/home/heasterday/.local/lib/python3.8/site-packages/lark/parsers/xearley.py", line 138, in _parse to_scan = scan(i, to_scan) File "/home/heasterday/.local/lib/python3.8/site-packages/lark/parsers/xearley.py", line 115, in scan raise UnexpectedCharacters(stream, i, text_line, text_column, {item.expect.name for item in to_scan}, set(to_scan)) lark.exceptions.UnexpectedCharacters: No terminal defined for '&' at line 5 col 2 && rm /example.txt ^ Expecting: {'CMD', 'RUN', 'ENV', 'WORKDIR', 'ARG', 'FROM', 'COPY'} ```
issue