Skip to content

Build Installer Library #12

Build Installer Library

Build Installer Library #12

Workflow file for this run

# This workflow will run to update the installer library of
# Docker images. These are the images which provide updated wheels
# .deb installation packages or maybe just some compiled library
name: Build Installer Library
on:
workflow_dispatch:
inputs:
qpdf_version:
description: 'qpdf version'
type: string
required: true
default: '11.3.0'
pikepdf_version:
description: 'pikepdf version'
type: string
required: true
default: '7.2.0'
psycopg2_version:
description: 'psycopg2 version'
type: string
required: true
default: '2.9.6'
jbig2enc_version:
description: 'jbig2enc version'
type: string
required: true
default: '0.29'
lxml_version:
description: 'lxml version'
type: string
required: true
default: '4.9.2'
pillow_version:
description: 'pillow version'
type: string
required: true
default: '9.5.0'
scipy_version:
description: 'scipy version'
type: string
required: true
default: '1.10.1'
concurrency:
group: build-installer-library
cancel-in-progress: false
jobs:
build-qpdf-debs:
name: qpdf @ ${{ inputs.qpdf_version }}
uses: ./.github/workflows/reusable-builder.yml
secrets: inherit
with:
name: qpdf
version: ${{ inputs.qpdf_version }}
dockerfile: ./qpdf.dockerfile
build-platforms: linux/amd64
build-args: |
QPDF_VERSION=${{ inputs.qpdf_version }}
build-jbig2enc:
name: jbig2enc @ ${{ inputs.jbig2enc_version }}
uses: ./.github/workflows/reusable-builder.yml
secrets: inherit
with:
name: jbig2enc
version: ${{ inputs.jbig2enc_version }}
dockerfile: ./jbig2enc.dockerfile
build-args: |
JBIG2ENC_VERSION=${{ inputs.jbig2enc_version }}
build-psycopg2-wheel:
name: psycopg2 @ ${{ inputs.psycopg2_version }}
uses: ./.github/workflows/reusable-builder.yml
secrets: inherit
with:
name: psycopg2
version: ${{ inputs.psycopg2_version }}
dockerfile: ./psycopg2.dockerfile
build-args: |
PSYCOPG2_VERSION=${{ inputs.psycopg2_version }}
build-pikepdf-wheel:
name: pikepdf @ ${{ inputs.pikepdf_version }}
needs:
- build-qpdf-debs
uses: ./.github/workflows/reusable-builder.yml
secrets: inherit
with:
name: pikepdf
version: ${{ inputs.pikepdf_version }}
dockerfile: ./pikepdf.dockerfile
build-args: |
QPDF_VERSION=${{ inputs.qpdf_version }}
PIKEPDF_VERSION=${{ inputs.pikepdf_version }}
PILLOW_VERSION=${{ inputs.pillow_version }}
LXML_VERSION=${{ inputs.lxml_version }}
build-scipy-wheel:
name: scipy @ ${{ inputs.scipy_version }}
if: false
uses: ./.github/workflows/reusable-builder.yml
secrets: inherit
with:
name: scipy
version: ${{ inputs.scipy_version }}
dockerfile: ./scipy.dockerfile
build-args: |
SCIPY_VERSION=${{ inputs.scipy_version }}
commit-binary-files:
name: Store installers
needs:
- build-qpdf-debs
- build-jbig2enc
- build-psycopg2-wheel
- build-pikepdf-wheel
runs-on: ubuntu-22.04
steps:
-
name: Checkout
uses: actions/checkout@v3
with:
ref: binary-library
-
name: Install system dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qq --no-install-recommends tree
-
name: Clear old installers
run: |
rm --verbose --recursive --force pikepdf
rm --verbose --recursive --force jbig2enc
rm --verbose --recursive --force psycopg2
rm --verbose --recursive --force qpdf
-
name: Download qpdf files
uses: actions/download-artifact@v3
with:
name: qpdf-${{ inputs.qpdf_version }}
path: ./
-
name: Download psycopg2 files
uses: actions/download-artifact@v3
with:
name: psycopg2-${{ inputs.psycopg2_version }}
path: ./
-
name: Download pikepdf files
uses: actions/download-artifact@v3
with:
name: pikepdf-${{ inputs.pikepdf_version }}
path: ./
-
name: Download jbig2enc files
uses: actions/download-artifact@v3
with:
name: jbig2enc-${{ inputs.jbig2enc_version }}
path: ./
-
name: Show file structure
run: |
tree .
-
name: Commit files
if: false
run: |
git config --global user.name "github-actions"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add pikepdf/ qpdf/ psycopg2/ jbig2enc/
git status
git commit -m "Updating installer packages" || true
git push origin || true