1
0
woof-docker/.gitea/workflows/build-and-push.yaml

59 lines
2.1 KiB
YAML
Raw Permalink Normal View History

name: Build w00f-docker image
on: [push]
jobs:
Build-w00f:
runs-on: ubuntu-latest
ContainerNetworkMode: webservices
steps:
- name: Install docker
run: |
apt update
apt -y install curl ca-certificates
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt -y install docker-ce-cli docker-buildx-plugin docker-compose-plugin
- name: Clone Repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-buildx-woof
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
# Someday.... https://github.com/go-gitea/gitea/issues/23642
# username: ${{ gitea.repository_owner }}
# password: ${{ secrets.GITEA_TOKEN}}
username: ${{ vars.PAT_USER }}
password: ${{ secrets.PAT_TOKEN}}
registry: git.leonardoamaral.com.br
- name: Build and push
run: |
docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache-new,mode=max --load --tag git.leonardoamaral.com.br/leonardo/woof:latest --file Containerfile .
docker push git.leonardoamaral.com.br/leonardo/woof:latest
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache