Compare commits

..

10 Commits

Author SHA1 Message Date
Torjus Håkestad
f9f00aa576 Add file and openssl
All checks were successful
publish-images / publish-vscode (push) Successful in 12m6s
2024-02-05 15:09:18 +01:00
Torjus Håkestad
f916ab30b2 Add some more required packages
All checks were successful
publish-images / publish-vscode (push) Successful in 12m0s
2024-02-05 12:27:28 +01:00
Torjus Håkestad
1f335f2c2e Add mlocate package
All checks were successful
publish-images / publish-vscode (push) Successful in 10m49s
2024-02-05 12:23:44 +01:00
Torjus Håkestad
53faa49001 Add helper script 2024-02-05 12:19:07 +01:00
Torjus Håkestad
57d9ab5709 Update workflow to only rebuild images when changed 2024-02-05 12:18:41 +01:00
5048605ea7 Move LABEL step to final container
All checks were successful
publish-images / publish-vscode (push) Successful in 10m35s
2024-02-02 03:15:00 +01:00
95588a25b4 Merge pull request 'Use fedora:latest as base image' (#1) from fedora-base-image into master
All checks were successful
publish-images / publish-vscode (push) Successful in 11m9s
Reviewed-on: #1
2024-02-02 02:00:15 +00:00
17cdc3b2d4 Get pre-commit from pip instead of dnf 2024-02-02 02:58:30 +01:00
d7791bb4d1 Add go-task 2024-02-02 02:57:54 +01:00
79303167a5 Use fedora:latest as base 2024-02-02 02:57:29 +01:00
4 changed files with 99 additions and 4 deletions

View File

@@ -3,6 +3,9 @@ name: publish-images
on:
push:
branches: [ master ]
paths:
- "Dockerfile*"
- "base-packages.txt"
schedule:
- cron: "0 4 * * 7"

View File

@@ -1,4 +1,18 @@
FROM registry.fedoraproject.org/fedora-toolbox:39
FROM fedora:latest as base
# Install base packages
COPY base-packages.txt /
RUN dnf -y upgrade \
&& dnf install -y $(<base-packages.txt) \
&& dnf clean -y all
RUN rm /base-packages.txt
# Squash image to reduce final size
FROM scratch as squashed
COPY --from=base / /
FROM squashed
LABEL com.github.containers.toolbox="true"
# Install vscode repo
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
@@ -12,14 +26,12 @@ gpgkey=https://packages.microsoft.com/keys/microsoft.asc\n\
" > /etc/yum.repos.d/vscode.repo
# Install packages
RUN dnf update -y \
&& dnf install -y \
RUN dnf install -y \
code \
golang \
neovim \
pinentry \
pipx \
pre-commit \
python3 \
zsh \
&& dnf clean -y all
@@ -28,6 +40,7 @@ RUN dnf update -y \
RUN PIPX_HOME=/usr/local/lib/pipx PIPX_BIN_DIR=/usr/local/bin pipx install \
ipython \
pip-audit \
pre-commit \
poetry \
&& rm -rf /root/.cache
@@ -36,6 +49,7 @@ ENV GOBIN=/usr/local/bin
RUN go install github.com/cweill/gotests/gotests@latest \
&& go install github.com/fatih/gomodifytags@latest \
&& go install github.com/go-delve/delve/cmd/dlv@latest \
&& go install github.com/go-task/task/v3/cmd/task@latest \
&& go install github.com/haya14busa/goplay/cmd/goplay@latest \
&& go install github.com/josharian/impl@latest \
&& go install golang.org/x/tools/gopls@latest \

52
base-packages.txt Normal file
View File

@@ -0,0 +1,52 @@
bc
bzip2
cracklib-dicts
diffutils
dnf-plugins-core
file
findutils
flatpak-spawn
fpaste
git
glibc-all-langpacks
glibc-locale-source
gnupg2
gnupg2-smime
gvfs-client
hostname
iproute
iputils
keyutils
krb5-libs
less
lsof
man-db
mesa-dri-drivers
mesa-vulkan-drivers
mlocate
mtr
nss-mdns
openssh-clients
openssl
passwd
pigz
procps-ng
psmisc
rsync
shadow-utils
sudo
tcpdump
time
traceroute
tree
unzip
util-linux
vte-profile
vulkan-loader
wget
which
whois
words
xorg-x11-xauth
xz
zip

26
scripts/tbx-helper.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/sh
usage() {
echo "Usage: $0 COMMAND"
echo ""
echo "Available commands:"
echo "pull-images Pull all known toolbox images"
}
pull_images() {
podman pull git.t-juice.club/torjus/toolboxes/vscode:latest
}
if [ $# != 1 ]; then
usage
exit 1
fi
case "$1" in
pull-images)
pull_images
;;
*)
usage
;;
esac