name: CI on: push: branches: - main - master - fix-validation-issues pull_request: env: REGISTRY: git.danhenry.dev IMAGE_NAME: thelab/shopping-list-api jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Sync dependencies run: uv sync --frozen --dev - name: Run tests run: uv run pytest docker-push: runs-on: ubuntu-latest needs: test if: gitea.event_name == 'push' steps: - name: Checkout uses: actions/checkout@v4 - name: Log in to Gitea container registry run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ env.REGISTRY }} -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - name: Build Docker image run: | docker build \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.ref_name }} \ . - name: Push Docker image run: | docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.ref_name }}