name: Publish Docker image on: push: branches: - 'main' - 'develop' tags: - 'v*' pull_request: branches: - 'main' - 'develop' jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Log in to Docker registry uses: docker/login-action@v3.3.0 with: username: ${{ secrets.DOCKER_REGISTRY_USERNAME }} password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }} registry: ${{ vars.REGISTRY }} - uses: cachix/install-nix-action@v30 with: nix_path: nixpkgs=channel:nixos-unstable enable_kvm: false # extra_nix_config: "system-features = benchmark big-parallel kvm" - name: Test home run: | ls -ahl /homeless-shelter - name: Build Docker image env: HOME: ${{ gitea.workspace }} run: nix develop --command -- just backend build-docker - name: Load Docker Image run: | docker load < ./gejdr-backend/result - name: Docker Metadata action uses: docker/metadata-action@v5.6.1 id: meta with: image: gejdr-backend:latest tags: type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha labels: | org.opencontainers.image.title=Backend GéJDR org.opencontainers.image.description=Backend for GéJDR org.opencontainers.image.vendor=Lucien Cartier-Tilet - name: Retag and publish Docker image for backend env: TAGS: ${{ steps.meta.outputs.tags }} run: | for tag in ${{ steps.meta.outputs.tags }}; do newtag=${{ vars.REGISTRY }}/$tag echo $newtag # docker tag gejdr-backend:latest $newtag # docker push $newtag done