name: Build, Push, and Deploy on: push: branches: - main env: REGISTRY: src.thehellings.com IMAGE: src.thehellings.com/greg/homepage:latest jobs: build: runs-on: nix-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Build site image run: | nix --extra-experimental-features nix-command --extra-experimental-features flakes build . cp -L result result.tar.gz - name: Upload image artifact uses: actions/upload-artifact@v3 with: name: image path: result.tar.gz retention-days: 7 push: runs-on: bare-metal needs: build steps: - name: Download image artifact uses: actions/download-artifact@v3 with: name: image - name: Log in to Gitea container registry run: podman login -u ${{ secrets.REGISTRY_USER }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ env.REGISTRY }} - name: Push image run: | podman load -i result.tar.gz podman tag "localhost/gregs-homepage:latest" ${{ env.IMAGE }} podman push ${{ env.IMAGE }} deploy: runs-on: blog needs: push steps: - name: Pull image and restart service run: | sudo podman pull ${{ env.IMAGE }} sudo systemctl restart podman-homepage