22# Latest stable version of Ubuntu, of course
33FROM ubuntu:22.04
44
5- LABEL org.opencontainers.image.authors "Leandro Heck <leoheck@gmail.com>"
5+ LABEL org.opencontainers.image.authors "Leandro Heck <leoheck@gmail.com>, Jacob McSwain <kiri-github-action@mcswain.dev> "
66LABEL org.opencontainers.image.description "Kicad 7 and KiRI"
7- LABEL org.opencontainers.image.url "https://hub.docker.com/r/leoheck/kiri/main"
8- LABEL org.opencontainers.image.documentation "https://github.com/leoheck/kiri-docker"
7+ LABEL org.opencontainers.image.url "https://github.com/USA-RedDragon/kiri-github-action/pkgs/container/kiri"
8+ LABEL org.opencontainers.image.documentation "https://github.com/USA-RedDragon/kiri-github-action"
9+ LABEL org.opencontainers.image.source "https://github.com/USA-RedDragon/kiri-github-action"
910
1011ARG DEBIAN_FRONTEND noninteractive
1112ARG DEBCONF_NOWARNINGS="yes"
12- ARG TERM 'dumb'
13+ ENV TERM 'dumb'
1314
1415RUN apt-get update
1516RUN apt-get install -y \
1617 sudo \
1718 git \
18- zsh \
1919 curl \
2020 coreutils \
2121 software-properties-common \
@@ -49,18 +49,19 @@ RUN apt-get install --no-install-recommends -y kicad && \
4949 rm -rf /var/tmp/*
5050
5151# Create user
52- RUN useradd -rm -d "/home/kiri " -s "/usr/bin/zsh " -g root - G sudo -u 1000 kiri -p kiri
52+ RUN useradd -rm -d "/home/github " -s "$(which bash) " -G sudo -u 1001 -U github
5353
5454# Run sudo without password
55- RUN echo "kiri ALL=(ALL) NOPASSWD:ALL" | tee sudo -a "/etc/sudoers"
55+ RUN echo "github ALL=(ALL) NOPASSWD:ALL" | tee sudo -a "/etc/sudoers"
5656
5757# Change current user
58- USER kiri
59- WORKDIR "/home/kiri"
60- ENV USER kiri
58+ USER github
59+ WORKDIR "/home/github"
60+ ENV USER github
61+ ENV HOME /home/github
6162ENV DISPLAY :0
6263
63- ENV PATH "${PATH}:/home/kiri /.local/bin"
64+ ENV PATH "${PATH}:/home/github /.local/bin"
6465
6566# Python dependencies
6667RUN yes | pip3 install \
@@ -89,38 +90,19 @@ RUN yes | opam init --disable-sandboxing && \
8990 rm -rf ~/.opam/download-cache ;\
9091 rm -rf ~/.opam/repo/*
9192
92- # Oh-my-zsh, please
93- RUN zsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" || true
94-
9593# Install kiri, kidiff and plotgitsch
96- ADD https://api.github.com/repos/leoheck /kiri/git/refs/heads/main kiri_version.json
97- ENV KIRI_HOME "/home/kiri /.local/share/"
98- RUN git clone --recurse-submodules -j8 https://github.com/leoheck /kiri.git "${KIRI_HOME}/kiri "
99- RUN cd "${KIRI_HOME}/kiri/ submodules/plotkicadsch" && \
94+ ADD https://api.github.com/repos/USA-RedDragon /kiri/git/refs/heads/main kiri_version.json
95+ ENV KIRI_HOME "/home/github /.local/share/kiri "
96+ RUN git clone --recurse-submodules -j8 https://github.com/USA-RedDragon /kiri.git "${KIRI_HOME}"
97+ RUN cd "${KIRI_HOME}/submodules/plotkicadsch" && \
10098 opam pin add -y kicadsch . && \
10199 opam pin add -y plotkicadsch . && \
102100 opam install -y plotkicadsch; \
103101 opam clean -a -c -s --logs -r ;\
104102 rm -rf ~/.opam/download-cache ;\
105103 rm -rf ~/.opam/repo/*
106104
107- # Opam configuration
108- RUN echo | tee -a "${HOME}/.zshrc"
109- RUN echo '# OPAM configuration' | tee -a "${HOME}/.zshrc"
110- RUN echo "test -r /home/kiri/.opam/opam-init/init.sh && . /home/kiri/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true" | tee -a "${HOME}/.zshrc"
111-
112- # KiRI environment
113- RUN echo | tee -a "${HOME}/.zshrc"
114- RUN echo '# KIRI Environment' | tee -a "${HOME}/.zshrc"
115- RUN echo 'export KIRI_HOME=${HOME}/.local/share/kiri' | tee -a "${HOME}/.zshrc"
116- RUN echo 'export PATH=${KIRI_HOME}/submodules/KiCad-Diff/bin:${PATH}' | tee -a "${HOME}/.zshrc"
117- RUN echo 'export PATH=${KIRI_HOME}/bin:${PATH}' | tee -a "${HOME}/.zshrc"
118-
119- # Custom commands
120- RUN echo | tee -a "${HOME}/.zshrc"
121- RUN echo '# Custom Commands' | tee -a "${HOME}/.zshrc"
122- RUN echo 'function ip() { awk "/32 host/ { print f } {f=\$ 2}" /proc/net/fib_trie | sort | uniq | grep -v 127.0.0.1 | head -n1 }' | tee -a "${HOME}/.zshrc"
123- RUN echo 'alias kiri="kiri -i \$ (ip)"' | tee -a "${HOME}/.zshrc"
105+ ENV PATH "${KIRI_HOME}/bin:${KIRI_HOME}/submodules/KiCad-Diff/bin:${PATH}"
124106
125107# Clean unnecessary stuff
126108RUN sudo apt-get purge -y \
@@ -138,5 +120,24 @@ RUN sudo rm -rf \
138120 /usr/share/man/*
139121
140122# Initialize Kicad config files to skip default popups of setup
141- COPY config "/home/kiri/.config"
142- RUN sudo chown -R kiri "/home/kiri/.config"
123+ COPY config "/home/github/.config"
124+ RUN sudo chown -R github:github "/home/github/.config"
125+
126+ COPY entrypoint.sh /entrypoint.sh
127+ RUN sudo chmod a+rx /entrypoint.sh
128+
129+ # GitHub Actions environment variables
130+ ENV KIRI_PROJECT_FILE ""
131+ ENV KIRI_OUTPUT_DIR ""
132+ ENV KIRI_REMOVE ""
133+ ENV KIRI_ARCHIVE ""
134+ ENV KIRI_PCB_PAGE_FRAME ""
135+ ENV KIRI_FORCE_LAYOUT_VIEW ""
136+ ENV KIRI_SKIP_KICAD6_SCHEMATICS ""
137+ ENV KIRI_SKIP_CACHE ""
138+ ENV KIRI_OLDER ""
139+ ENV KIRI_NEWER ""
140+ ENV KIRI_LAST ""
141+ ENV KIRI_ALL ""
142+
143+ ENTRYPOINT ["/entrypoint.sh" ]
0 commit comments