Files
smartbooking/.gitea/workflows/publish-package.yml

52 lines
1.8 KiB
YAML

name: Build and Publish
on:
push:
branches:
- '**'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:java-tools-24.04
steps:
- name: Checkout repository
uses: https://github.com/actions/checkout@v4
- name: Login al registry di Gitea
run: |
echo "${{ secrets.AUTHTOKEN }}" | docker login ${{ vars.REGISTRY_URL }} -u ${{ github.repository_owner }} --password-stdin
echo "${{ secrets.AUTHTOKEN }}" ${{ vars.REGISTRY_URL }} ${{ github.repository_owner }}
- name: Build immagine Docker
run: |
IMAGE_NAME="${{ vars.REGISTRY_URL }}/${{ github.repository }}"
docker build \
--target production \
-t ${IMAGE_NAME}:${{ github.sha }} \
-t ${IMAGE_NAME}:${{ github.ref_name}} \
-t ${IMAGE_NAME}:latest \
.
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
- name: Push immagine Docker
run: |
docker push ${{ env.IMAGE_NAME }}:${{ github.sha }}
docker push ${{ env.IMAGE_NAME }}:${{ github.ref_name }}
docker push ${{ env.IMAGE_NAME }}:latest
echo "Docker image pushed successfully!"
- name: Upload to Gitea Package Registry
run: |
VERSION="${GITHUB_REF_NAME:-main}"
REPO_NAME="${{ github.event.repository.name }}"
curl -X PUT \
-H "Authorization: token ${{ secrets.AUTHTOKEN }}" \
-T build-artifact.tar.gz \
"${{ github.server_url }}/api/v1/repos/${{ github.repository }}/packages/generic/${REPO_NAME}/${VERSION}/build-artifact.tar.gz"
echo "Artifact uploaded to Package Registry!"
echo "Download at: ${{ github.server_url }}/${{ github.repository }}/-/packages"