mirror of
https://github.com/qpdf/qpdf.git
synced 2024-06-05 20:00:53 +00:00
Add GitHub Actions workflow
This commit is contained in:
parent
1019ed5758
commit
92635d1203
108
.github/workflows/main.yml
vendored
Normal file
108
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
name: QPDF Build
|
||||||
|
env:
|
||||||
|
QTEST_COLOR: 1
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
- build
|
||||||
|
pull_request:
|
||||||
|
jobs:
|
||||||
|
Distfiles:
|
||||||
|
# Generate distfiles.zip, which is a prerequisite for the mac and
|
||||||
|
# Windows builds. Only the mac and Windows builds actually "need"
|
||||||
|
# it, but declaring all the jobs to need it forces it to run
|
||||||
|
# first.
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Create distfiles.zip'
|
||||||
|
run: build-scripts/make-distfiles
|
||||||
|
- name: 'Upload extra distribution files'
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: distfiles
|
||||||
|
path: distfiles.zip
|
||||||
|
Linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Generate, build, and test'
|
||||||
|
run: build-scripts/build-linux
|
||||||
|
- name: Upload distribution
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: distribution
|
||||||
|
path: distribution
|
||||||
|
Windows:
|
||||||
|
# If updating this, see note in TODO about MSVC wildcard expansion.
|
||||||
|
runs-on: windows-2019
|
||||||
|
needs: Distfiles
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 4
|
||||||
|
matrix:
|
||||||
|
tool: [msvc, mingw]
|
||||||
|
wordsize: [64, 32]
|
||||||
|
steps:
|
||||||
|
- name: 'Disable git autocrlf'
|
||||||
|
shell: bash
|
||||||
|
run: git config --global core.autocrlf input
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Download distribution files'
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: distfiles
|
||||||
|
- name: 'Build, test, generate binary distributions'
|
||||||
|
shell: cmd
|
||||||
|
run: build-scripts/build-windows.bat ${{ matrix.wordsize }} ${{ matrix.tool }}
|
||||||
|
- name: 'Upload binary distributions'
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: distribution
|
||||||
|
path: distribution
|
||||||
|
macOS:
|
||||||
|
runs-on: macos-10.15
|
||||||
|
needs: Distfiles
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Download distribution files'
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: distfiles
|
||||||
|
- name: 'Mac build and test'
|
||||||
|
run: build-scripts/build-mac
|
||||||
|
AppImage:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: Distfiles
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Build AppImage'
|
||||||
|
run: build-scripts/build-appimage
|
||||||
|
- name: 'Upload AppImage'
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: distribution
|
||||||
|
path: distribution
|
||||||
|
Linux32:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: Distfiles
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Linux 32-bit'
|
||||||
|
run: build-scripts/build-linux32
|
||||||
|
Fuzzers:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: Distfiles
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Build Fuzzer'
|
||||||
|
run: build-scripts/build-fuzzer
|
||||||
|
Sanitizers:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: Distfiles
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Sanitizer Tests'
|
||||||
|
run: build-scripts/test-sanitizers
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
[![QPDF](logo/qpdf.svg)](http://qpdf.sourceforge.net)
|
[![QPDF](logo/qpdf.svg)](http://qpdf.sourceforge.net)
|
||||||
|
|
||||||
|
[![QPDF Build](https://github.com/qpdf/qpdf/workflows/QPDF%20Build/badge.svg)](https://github.com/qpdf/qpdf/actions)
|
||||||
[![Azure Pipeline Build Status](https://dev.azure.com/qpdf/qpdf/_apis/build/status/qpdf.qpdf)](https://dev.azure.com/qpdf/qpdf/_build/latest?definitionId=5) [![Total lgtm alerts](https://img.shields.io/lgtm/alerts/g/qpdf/qpdf.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/qpdf/qpdf/alerts/)
|
[![Azure Pipeline Build Status](https://dev.azure.com/qpdf/qpdf/_apis/build/status/qpdf.qpdf)](https://dev.azure.com/qpdf/qpdf/_build/latest?definitionId=5) [![Total lgtm alerts](https://img.shields.io/lgtm/alerts/g/qpdf/qpdf.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/qpdf/qpdf/alerts/)
|
||||||
[![Language grade on lgtm: C/C++](https://img.shields.io/lgtm/grade/cpp/g/qpdf/qpdf.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/qpdf/qpdf/context:cpp)
|
[![Language grade on lgtm: C/C++](https://img.shields.io/lgtm/grade/cpp/g/qpdf/qpdf.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/qpdf/qpdf/context:cpp)
|
||||||
|
|
||||||
|
|
13
TODO
13
TODO
|
@ -91,6 +91,19 @@ Fuzz Errors
|
||||||
18745, 20391, 23581
|
18745, 20391, 23581
|
||||||
* Timeout: 15471, 17630
|
* Timeout: 15471, 17630
|
||||||
|
|
||||||
|
GitHub Actions
|
||||||
|
==============
|
||||||
|
|
||||||
|
* Actions are triggered on push to main and master. When we eventually
|
||||||
|
rename master to main, make sure the reference to master is removed
|
||||||
|
from .github/workflows/*.yml.
|
||||||
|
|
||||||
|
* At the time of migrating from Azure Pipelines to GitHub Actions
|
||||||
|
(2020-10), there was no standard test result publisher (to replace
|
||||||
|
the PublishTestResults@2 task). There are some third-party actions,
|
||||||
|
but I'd rather not depend on them. Keep an eye open for this coming
|
||||||
|
to GitHub Actions.
|
||||||
|
|
||||||
Windows Build
|
Windows Build
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user