name: Build psycopg2 on: workflow_dispatch: schedule: - cron: "0 10 * * 0" push: 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@b582c02a8cf5dc7bdb3f028e1774dc2646ee17c8 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