mirror of https://github.com/qpdf/qpdf.git
Add GitHub Actions workflow
This commit is contained in:
parent
1019ed5758
commit
92635d1203
|
@ -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 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/)
|
||||
[![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
|
||||
* 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
|
||||
=============
|
||||
|
||||
|
|
Loading…
Reference in New Issue