website/.forgejo/workflows/build.yml

46 lines
1.4 KiB
YAML
Raw Normal View History

2024-04-03 09:05:30 +00:00
name: Build and push docker image
# start workflow every time a tag/release is created
on:
push:
tags:
- '*'
jobs:
deploy:
runs-on: ubuntu-latest
2024-04-03 09:25:12 +00:00
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
2024-04-03 09:05:30 +00:00
defaults:
run:
2024-04-03 09:13:50 +00:00
working-directory: /tmp
2024-04-03 09:05:30 +00:00
# build the docker container
steps:
- name: ✨ Installing just command runner
run: |
# download and extract just to /bin/just
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /bin
just --help || echo "Error: 'just' wasn't found. Maybe the download failed?"
- name: ⬇️ Checkout Repository
uses: actions/checkout@v4
- name: 🐋 Build Container
run: |
# build the container
2024-04-03 09:19:26 +00:00
just -f /workspace/sangelo/website/Justfile build ${{ github.ref }}
2024-04-03 09:05:30 +00:00
- name: 🐳 Publish Container
run: |
echo "${{ secrets.PUBLISH_TOKEN }}" | docker login gitpot.dev -u sangelo --password-stdin
docker push gitpot.dev/sangelo/website:${{ github.ref }}
# publish tag latest as well
if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
docker tag gitpot.dev/sangelo/website:${{ github.ref }} gitpot.dev/sangelo/website:latest
docker push gitpot.dev/sangelo/website:latest
fi