diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 56fef76..449be9a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -43,12 +43,44 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 + - name: Resolve registry settings + id: registry + shell: bash + env: + SECRET_USERNAME: ${{ secrets.REGISTRY_USERNAME }} + SECRET_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} + SECRET_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + SECRET_IMAGE: ${{ secrets.REGISTRY_IMAGE }} + run: | + set -euo pipefail + username="${SECRET_USERNAME:-${GITHUB_ACTOR}}" + password="${SECRET_PASSWORD:-${SECRET_TOKEN:-}}" + image="${SECRET_IMAGE:-gitea.reversed.dev/space/evil-wordle}" + + if [ -z "$username" ]; then + echo "::error::Registry username is empty. Set REGISTRY_USERNAME or ensure GITHUB_ACTOR is available." + exit 1 + fi + + if [ -z "$password" ]; then + echo "::error::Registry password is empty. Set REGISTRY_PASSWORD to a Gitea token with package read/write access." + exit 1 + fi + + { + echo "username=$username" + echo "image=$image" + } >> "$GITHUB_OUTPUT" + + echo "::add-mask::$password" + echo "password=$password" >> "$GITHUB_OUTPUT" + - name: Log in to Gitea registry uses: docker/login-action@v3 with: registry: gitea.reversed.dev - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} + username: ${{ steps.registry.outputs.username }} + password: ${{ steps.registry.outputs.password }} - name: Compute image tags id: meta @@ -56,13 +88,14 @@ jobs: run: | set -euo pipefail short_sha="${GITHUB_SHA::7}" - tags="${{ secrets.REGISTRY_IMAGE }}:${short_sha}" + image="${{ steps.registry.outputs.image }}" + tags="${image}:${short_sha}" if [ "${GITHUB_REF_NAME}" = "main" ]; then - tags="${tags}\n${{ secrets.REGISTRY_IMAGE }}:latest" + tags="${tags}\n${image}:latest" fi if [[ "${GITHUB_REF_TYPE}" = "tag" ]]; then clean_tag="${GITHUB_REF_NAME#v}" - tags="${tags}\n${{ secrets.REGISTRY_IMAGE }}:${clean_tag}" + tags="${tags}\n${image}:${clean_tag}" fi { echo 'tags<