This commit is contained in:
@@ -9,48 +9,38 @@ jobs:
|
|||||||
docker:
|
docker:
|
||||||
runs-on: [docker, linux, x86_64]
|
runs-on: [docker, linux, x86_64]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Debug env (optional)
|
||||||
run: |
|
run: |
|
||||||
git clone ${{ gitea.repository.clone_url }} .
|
echo "GITHUB_SERVER_URL=$GITHUB_SERVER_URL"
|
||||||
# uses: actions/checkout@v4
|
echo "GITHUB_REPOSITORY=$GITHUB_REPOSITORY"
|
||||||
|
|
||||||
- name: Set up QEMU (optional for multi-arch)
|
# PUBLIC repo (ingen token)
|
||||||
uses: docker/setup-qemu-action@v3
|
- name: Checkout (public)
|
||||||
|
if: ${{ !secrets.CI_CLONE_TOKEN }}
|
||||||
|
run: |
|
||||||
|
git clone "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" .
|
||||||
|
git rev-parse --short HEAD
|
||||||
|
|
||||||
- name: Set up Buildx
|
# PRIVATE repo (brug PAT/token gemt som secret CI_CLONE_TOKEN)
|
||||||
uses: docker/setup-buildx-action@v3
|
- name: Checkout (private)
|
||||||
|
if: ${{ secrets.CI_CLONE_TOKEN }}
|
||||||
|
run: |
|
||||||
|
git clone "https://${{ secrets.CI_CLONE_TOKEN }}@${GITHUB_SERVER_URL#https://}/${GITHUB_REPOSITORY}.git" .
|
||||||
|
git rev-parse --short HEAD
|
||||||
|
|
||||||
# Login only if secrets are present
|
- name: Build image (amd64)
|
||||||
- name: Login to registry
|
run: |
|
||||||
|
docker build -t jottacloud:latest .
|
||||||
|
|
||||||
|
# (Valgfrit) Push til registry hvis du har secrets sat
|
||||||
|
- name: Login & push
|
||||||
if: ${{ secrets.REGISTRY && secrets.REGISTRY_USER && secrets.REGISTRY_PASSWORD }}
|
if: ${{ secrets.REGISTRY && secrets.REGISTRY_USER && secrets.REGISTRY_PASSWORD }}
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ secrets.REGISTRY }}
|
|
||||||
username: ${{ secrets.REGISTRY_USER }}
|
|
||||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Compute image tags
|
|
||||||
id: meta
|
|
||||||
run: |
|
run: |
|
||||||
IMAGE_NAME="${{ secrets.IMAGE_NAME || 'jottacloud' }}"
|
REG="${{ secrets.REGISTRY }}"
|
||||||
REG="${{ secrets.REGISTRY || '' }}"
|
IMG="${{ secrets.IMAGE_NAME || 'jottacloud' }}"
|
||||||
if [ -n "$REG" ]; then
|
TAG_SHORT="$(git rev-parse --short HEAD)"
|
||||||
FULL="${REG}/${IMAGE_NAME}"
|
docker login "$REG" -u "${{ secrets.REGISTRY_USER }}" -p "${{ secrets.REGISTRY_PASSWORD }}"
|
||||||
else
|
docker tag jottacloud:latest "$REG/$IMG:latest"
|
||||||
# Fallback: local name (no push)
|
docker tag jottacloud:latest "$REG/$IMG:${TAG_SHORT}"
|
||||||
FULL="${IMAGE_NAME}"
|
docker push "$REG/$IMG:latest"
|
||||||
fi
|
docker push "$REG/$IMG:${TAG_SHORT}"
|
||||||
echo "full=${FULL}" >> $GITHUB_OUTPUT
|
|
||||||
# Tag with commit sha and 'latest'
|
|
||||||
echo "tags=${FULL}:latest,${FULL}:${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Build (and push if logged in)
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
platforms: linux/amd64
|
|
||||||
push: ${{ secrets.REGISTRY && secrets.REGISTRY_USER && secrets.REGISTRY_PASSWORD }}
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: |
|
|
||||||
org.opencontainers.image.source=${{ github.repository }}
|
|
||||||
org.opencontainers.image.revision=${{ github.sha }}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user