40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
name: Docker
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
tags: [ 'v*.*.*' ]
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
|
|
env:
|
|
REGISTRY: ${{ forgejo.server_url }}
|
|
IMAGE_NAME: ${{ forgejo.repository }}
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-docker
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: https://code.forgejo.org/actions/checkout@v4
|
|
|
|
- name: Log into registry
|
|
if: forgejo.event_name != 'pull_request'
|
|
run: echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} -u ${{ forgejo.actor }} --password-stdin
|
|
|
|
- name: Build Docker image
|
|
run: |
|
|
TAG="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest"
|
|
if [ "${{ forgejo.ref_type }}" = "tag" ]; then
|
|
VERSION="${{ forgejo.ref_name }}"
|
|
docker build -t "$TAG" -t "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}" .
|
|
else
|
|
docker build -t "$TAG" .
|
|
fi
|
|
|
|
- name: Push Docker image
|
|
if: forgejo.event_name != 'pull_request'
|
|
run: |
|
|
docker push --all-tags "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}"
|