Skip to content

Bring back .git info in CI #15

Bring back .git info in CI

Bring back .git info in CI #15

Workflow file for this run

name: Build and publish Docker images
on:
push:
paths:
- "*/**"
jobs:
build-and-publish:
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: Free disk space
run: |
sudo docker rmi $(docker image ls -aq) >/dev/null 2>&1 || true
sudo rm -rf \
/usr/share/dotnet /usr/local/lib/android /opt/ghc "$AGENT_TOOLSDIRECTORY" \
/usr/local/share/powershell /opt/microsoft/powershell /usr/share/swift /usr/local/.ghcup \
/usr/local/share/chromium /opt/google/chrome /opt/microsoft/msedge /opt/pipx /usr/lib/mono \
/usr/local/julia* /usr/local/lib/node_modules \
/usr/lib/jvm || true
echo "some directories deleted"
sudo apt install aptitude -y >/dev/null 2>&1
sudo aptitude purge aria2 ansible azure-cli shellcheck rpm xorriso zsync \
esl-erlang firefox gfortran-8 gfortran-9 google-chrome-stable \
google-cloud-sdk imagemagick \
libmagickcore-dev libmagickwand-dev libmagic-dev ant ant-optional kubectl \
mercurial apt-transport-https mono-complete libmysqlclient \
unixodbc-dev yarn chrpath libssl-dev libxft-dev \
libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev \
snmp pollinate libpq-dev postgresql-client powershell ruby-full \
sphinxsearch subversion mongodb-org azure-cli microsoft-edge-stable \
-y -f >/dev/null 2>&1
sudo aptitude purge google-cloud-sdk -f -y >/dev/null 2>&1
sudo aptitude purge microsoft-edge-stable -f -y >/dev/null 2>&1 || true
sudo apt purge microsoft-edge-stable -f -y >/dev/null 2>&1 || true
sudo aptitude purge '~n ^mysql' -f -y >/dev/null 2>&1
sudo aptitude purge '~n ^php' -f -y >/dev/null 2>&1
sudo aptitude purge '~n ^dotnet' -f -y >/dev/null 2>&1
sudo apt-get autoremove -y >/dev/null 2>&1
sudo apt-get autoclean -y >/dev/null 2>&1
echo "some packages purged"
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 5
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and publish Docker images
run: |
for dir in */; do
if [ -n "$(git diff --name-only HEAD^ HEAD -- "$dir")" ]; then
docker build -t ghcr.io/${{ github.repository_owner }}/${dir%/}:${{ github.sha }} -t ghcr.io/${{ github.repository_owner }}/${dir%/}:latest $dir
docker push ghcr.io/${{ github.repository_owner }}/${dir%/} --all-tags
fi
done