diff --git a/.forgejo/workflows/psycopg2.yaml b/.forgejo/workflows/psycopg2.yaml new file mode 100644 index 0000000..78ae267 --- /dev/null +++ b/.forgejo/workflows/psycopg2.yaml @@ -0,0 +1,55 @@ +name: Build psycopg2 + +on: + workflow_dispatch: + schedule: + - cron: "0 10 * * 0" + +env: + REPOSITORY_URL: https://cmwedding-bot:${{ secrets.FORGEJO_TOKEN }}@git.weddingfactory.eu/api/packages/cmwedding/pypi + +jobs: + check-version-exists: + runs-on: ubuntu-latest + + outputs: + version: ${{ steps.check.outputs.version }} + + steps: + - id: check + uses: https://git.weddingfactory.eu/cmwedding/wheels@check-action + with: + pypi-base-url: ${{ env.REPOSITORY_URL }} + pypi-package: psycopg2 + github-repository: "psycopg/psycopg2" + + build: + name: Build wheels on ${{ matrix.os }} + + needs: check-version-exists + if: needs.check-version-exists.outputs.version != '' + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + + steps: + - run: git clone --depth=1 https://github.com/psycopg/psycopg2 --branch ${{ needs.check-version-exists.outputs.version }} . + + - name: Build wheels + uses: https://github.com/pypa/cibuildwheel@v2.23.3 + env: + CIBW_BEFORE_ALL_LINUX: "dnf install -y postgresql-devel" + CIBW_BUILD: "cp31{0..3}-manylinux_{x86_64,aarch64}" + CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28 + + - name: Publish package distributions to Forgejo + run: | + pip3 install twine + python3 -m twine upload ./wheelhouse/* + env: + TWINE_REPOSITORY_URL: ${{ env.REPOSITORY_URL }} + TWINE_NON_INTERACTIVE: 1 +