Git Product home page Git Product logo

docker-aspell's Introduction

Hans Kristian (@Starefossen)

Experienced Site Reliability Engineer building Kubernetes based application platforms for public and financial sectors. Open Source and Open Standards evangelist with a mission to change enterprise organisations for the better and improving the developer experience.

My values

💐 Liberal – everyone are bourn free with equal human rights

🌱 Open minded and pragmatic – finding the best solution

🙌 Honest - I strive to be who I am and living up to my values

💬 Open and transparent collaboration often through code

docker-aspell's People

Contributors

jamesmstone avatar starefossen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docker-aspell's Issues

GitLab CI shared-runner compatibility

e6426a1 ("Add a aspell as a default entrypoint") seems to break usage on GitLab CI (shared-runners). All past tags have been overwritten so I can't confirm with certainty that this is the cause.

Could you be persuaded to provide an alternative image with the default entrypoint?

The story of what works in GitLab CI is long and confused, mostly covered in gitlab-org/gitlab-runner#2692, and well summarised in this particular comment (emphasis mine):

  1. Solution with entrypoint: ["/bin/sh"] (either it's sh or bash) doesn't work at all.

  2. Solution with entrypoint: ["/bin/sh", "-c"] (either it's sh or bash) works and depends on shell available inside of the image. We can see that packer supports both, terraform and curl support sh.

  3. For some reason none of the shells is working for kcov image. I don't know why this is happening, because kcov image has both shells available. From what I found /bin/sh is a symlink to /bin/dash and that's what raises the sh: 1: set: Illegal option -o pipefail error. But why sh is used when bash is available and should be detected first? I don't know.

  4. Solution with entrypoint: [""] works for all images, but not with Docker 1.12.X.

This image exhibits the problem in case 3, making it unusable in GitLab's shared runners for now. Historically, the solution to this problem was to not override ENTRYPOINT. Naturally you have no interest in removing the custom entrypoint in the primary image, which works entirely as intended and far more ergonomically than without the custom entrypoint.

Whether it were a separate image or just a tag wouldn't matter to me. It seems like the non-overriding Dockerfile could be the work-around and the overriding one could inherit from the work-around to preserve current functionality.

Difference between CLI use and Docker container use: 'Could not open the file for reading'

Hi @Starefossen,

Thanks for this Docker container! You are -AFAICS- the only one that actually documented his aspell Docker container, hence I think your work is the best :-)

I do have some silly problem, probably due to my lack of understanding than your container. I have re-created the problem at https://github.com/richelbilderbeek/docker_aspell_issue, but below in friendly English text :-)

Expectation

I expect that running aspell (i.e. a locally installed aspell) and docker-aspell to have the same behavior.

Setup

Below I show the code and output for

  • Running aspell (i.e. a locally installed aspell)
  • Running docker-aspell

Running aspell (i.e. a locally installed aspell)

Here is how I run aspell:

echo "File without spelling errors, interactively"
aspell -c --mode=tex correct.tex --lang=en_GB

echo "File with spelling errors, interactively"
echo "This command is commented out, as it will start an interactive session"
# aspell -c --mode=tex incorrect.tex --lang=en_GB

echo "File without spelling errors"
cat correct.tex | aspell pipe --mode=tex --lang=en_GB

echo "File with spelling errors"
cat incorrect.tex | aspell pipe --mode=tex --lang=en_GB

This gives (also in GitHub Actions log):

File without spelling errors, interactively
�[?1049h�[22;0;0t�[1;25r�(B�[m�[4l�[?7h�[?1h�=�[?1h�=�[25;1H�[?1049l�[23;0;0t
�[?1l�>�[25;1H�[?1049l�[23;0;0t
�[?1l�>File with spelling errors, interactively
This command is commented out, as it will start an interactive session
File without spelling errors
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8)
*
*
*

File with spelling errors
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8)
& Swegliome 16 0: Welcome, Selim, Slime, Salome, Swelling, Seraglio, Whilom, Sublime, Gloom, Glimmer, Slimmer, Swimmer, Selma, Clime, Slimy, Swell
& LaegraerhahTeX 10 10: Lagrange's, Loggerheads, Caretakers, Loggerhead's, Caretaker's, Figureheads, Curettage's, Figurehead's, Giraudoux, Lucretius
# trtheartjrxt 25

Running docker-aspell

echo "File without spelling errors, interactive"
sudo docker run starefossen/aspell -c --mode=tex correct.tex --lang=en_GB

echo "File with spelling errors, interactive"
sudo docker run starefossen/aspell -c --mode=tex incorrect.tex --lang=en_GB

echo "File without spelling errors"
cat correct.tex | sudo docker run starefossen/aspell pipe --mode=tex --lang=en_GB

echo "File with spelling errors"
cat incorrect.tex | sudo docker run starefossen/aspell pipe --mode=tex --lang=en_GB

This gives (also in GitHub Actions log):

File without spelling errors, interactive
File with spelling errors, interactive
File without spelling errors
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
File with spelling errors
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)

and stderr output:

Error: Could not open the file "correct.tex" for reading
Error: Could not open the file "incorrect.tex" for reading

Question

Why can't my files be found? Or what else causes the difference in output?

Thanks for your help and cheers, Richel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.