name: Build And Publish Docker on: workflow_dispatch jobs: build: container: image: node:lts-bookworm steps: - uses: actions/checkout@v3 with: submodules: 'true' - name: Install deps run: | curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh apt update && apt install -y jq - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@master - name: Login to Self-Hosted Registry uses: docker/login-action@v3 with: registry: fung.uy username: ${{ secrets.MYCO_REGISTRY_USER }} password: ${{ secrets.MYCO_PERSONAL_ACCESS_TOKEN }} - name: Get tags from GitLab repository id: get_tags run: | latest_tag=$(curl -s https://framagit.org/api/v4/projects/74246/repository/tags | grep -o -E 'v[0-9]+\.[0-9]+\.[0-9]+' | head -n 1) if [ -z "$latest_tag" ]; then echo "No valid tag found. Exiting." exit 1 fi echo "Latest version is $latest_tag" echo "latest_tag=$latest_tag" >> $GITHUB_ENV - name: Set base image to latest run: sed -i 's/FROM ubuntu:22.10/FROM ubuntu:latest/' ./aktivisda/server/dockerfile - name: Build and Push with Latest Tag uses: docker/build-push-action@v4 with: builder: ${{ steps.buildx.outputs.name }} context: ./aktivisda/server file: ./aktivisda/server/dockerfile platforms: linux/amd64 push: true tags: fung.uy/mirrors/aktivisda:${{ env.latest_tag }}