name: divent on: [push] jobs: lint: runs-on: ubuntu-latest container: python:3.12-slim steps: - run: apt-get update - run: apt-get install -y git nodejs - uses: actions/checkout@v4 - uses: Gr1N/setup-poetry@v9 - run: poetry install - run: poetry run ruff check . - run: poetry run mypy . - run: poetry run djlint . docker: runs-on: ubuntu-latest container: docker needs: [lint] steps: - run: apk add git nodejs - uses: actions/checkout@v4 - uses: docker/metadata-action@v5 id: meta with: images: xefir/divent tags: | type=schedule type=ref,event=tag type=ref,event=pr type=raw,value=latest,enable={{is_default_branch}} - uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - uses: docker/build-push-action@v6 with: push: ${{ gitea.ref_name == gitea.event.repository.default_branch || gitea.ref_type == 'tag' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} pypi: runs-on: ubuntu-latest container: python:3.12-slim needs: [lint] if: gitea.ref_type == 'tag' env: POETRY_PYPI_TOKEN_PYPI: ${{ secrets.POETRY_PYPI_TOKEN_PYPI }} steps: - run: apt-get update - run: apt-get install -y git nodejs - uses: actions/checkout@v4 - uses: Gr1N/setup-poetry@v9 - run: poetry publish --build