acsm-calibre-plugin/.github/workflows/main.yml
Florian Bach 6c29c42581
Some checks failed
Build binaries / build (push) Has been cancelled
Build binaries / test-python3 (3.10) (push) Has been cancelled
Build binaries / test-python3 (3.11) (push) Has been cancelled
Build binaries / test-python3 (3.12) (push) Has been cancelled
Build binaries / test-python3 (3.6) (push) Has been cancelled
Build binaries / test-python3 (3.7) (push) Has been cancelled
Build binaries / test-python3 (3.8) (push) Has been cancelled
Build binaries / test-python3 (3.9) (push) Has been cancelled
Build binaries / test-python2 (push) Has been cancelled
Build binaries / test-ubuntu-2004 (push) Has been cancelled
Build binaries / test-ubuntu-2204-oscrypto (push) Has been cancelled
Build binaries / test-ubuntu-2204-oscrypto-fork (push) Has been cancelled
Build binaries / test-windows (push) Has been cancelled
Build binaries / test-mac (push) Has been cancelled
Fix deprecated CI stuff
2024-08-07 09:54:40 +02:00

169 lines
5.5 KiB
YAML

name: Build binaries
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install compilers
run: |
sudo apt update
sudo apt install -y gcc-mingw-w64-i686 gcc-mingw-w64-x86-64
sudo apt install -y wget make zip
- name: Compile
run: |
./bundle_calibre_plugin.sh
./bundle_migration_plugin.sh
- name: Upload
uses: actions/upload-artifact@v4
with:
name: calibre-plugins
path: |
calibre-plugin.zip
calibre-migration-plugin.zip
test-python3:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
# 3.5 is broken due to SSL issues? Todo.
# 3.13-dev currently broken due to lxml
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install python requirements
run: pip install -r ./.github/workflows/ci_test_requirements.txt
- name: Run tests
run: |
cd tests && python --version && PYTHONWARNINGS=ignore python ./main.py
test-python2:
runs-on: ubuntu-20.04
container: python:2.7
steps:
- uses: actions/checkout@v4
- name: Install python requirements
run: pip install -r ./.github/workflows/ci_test_requirements.txt
- name: Run tests
run: |
cd tests && python --version && PYTHONWARNINGS=ignore python ./main.py
test-ubuntu-2004:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
pip3 install -r ./.github/workflows/ci_test_requirements.txt
# Install Python2 stuff
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
python2 get-pip.py
pip2 --no-python-version-warning install -r ./.github/workflows/ci_test_requirements.txt
- name: Run tests (Python 3)
run: |
cd tests && python3 ./main.py && cd ..
- name: Run tests (Python 2)
run: |
cd tests && PYTHONWARNINGS=ignore python2 ./main.py && cd ..
test-ubuntu-2204-oscrypto:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
id: pip-stuff
continue-on-error: true
run: |
# Require oscrypto > 1.3.0 because all versions until 1.3.0 had no (or broken) OpenSSL 3 support.
pip3 install "oscrypto>1.3.0"
pip3 install -r ./.github/workflows/ci_test_requirements.txt
# Install Python2 stuff
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo apt install python2
python2 get-pip.py
pip2 --no-python-version-warning install "oscrypto>1.3.0"
pip2 --no-python-version-warning install -r ./.github/workflows/ci_test_requirements.txt
- name: Run tests (Python 3)
if: steps.pip-stuff.outcome == 'success' && steps.pip-stuff.conclusion == 'success'
run: |
cd tests && python3 ./main.py && cd ..
- name: Run tests (Python 2)
if: steps.pip-stuff.outcome == 'success' && steps.pip-stuff.conclusion == 'success'
run: |
cd tests && PYTHONWARNINGS=ignore python2 ./main.py && cd ..
test-ubuntu-2204-oscrypto-fork:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
# Require cryptography >= 3.1 because in 3.0 and below, the backend param in load_key_and_certificates was still required.
# Installing a forked version of oscrypto to fix OpenSSL 3 issues
pip3 install https://github.com/Leseratte10/acsm-calibre-plugin/releases/download/config/oscrypto_1.3.0_fork_2023-12-19.zip
pip3 install -r ./.github/workflows/ci_test_requirements.txt
# Install Python2 stuff
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo apt install python2
python2 get-pip.py
pip2 --no-python-version-warning install https://github.com/Leseratte10/acsm-calibre-plugin/releases/download/config/oscrypto_1.3.0_fork_2023-12-19.zip
pip2 --no-python-version-warning install -r ./.github/workflows/ci_test_requirements.txt
- name: Run tests (Python 3)
run: |
cd tests && python3 ./main.py && cd ..
- name: Run tests (Python 2)
run: |
cd tests && PYTHONWARNINGS=ignore python2 ./main.py && cd ..
test-windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
# Require cryptography >= 3.1 because in 3.0 and below, the backend param in load_key_and_certificates was still required.
pip3 install -r ./.github/workflows/ci_test_requirements.txt
shell: bash
- name: Run tests (Python 3)
run: |
cd tests && python3 ./main.py && cd ..
shell: bash
test-mac:
runs-on: macos-12
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
pip3 install -r ./.github/workflows/ci_test_requirements.txt
- name: Run tests (Python 3)
run: |
cd tests && python3 ./main.py && cd ..