Skip to content

Commit

Permalink
Add Github Actions and issue tracker templates.
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelrsweet committed Oct 30, 2023
1 parent 3333b7d commit 588bbe1
Show file tree
Hide file tree
Showing 5 changed files with 276 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**System Information:**
- OS: [e.g. Ubuntu 22.04 LTS]
- Browser [e.g. chrome, firefox]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
91 changes: 91 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Build

on:
push:
branches: [ master, v1.4.x ]
pull_request:
branches: [ master ]
workflow_dispatch:

jobs:
build-linux:

runs-on: ubuntu-latest

steps:
- name: Checkout cups-local sources
uses: actions/checkout@v4
- name: Update build environment
run: sudo apt-get update --fix-missing -y
- name: Install prerequisites
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libgnutls28-dev libjpeg-dev libpam-dev libpng-dev libusb-1.0-0-dev zlib1g-dev
- name: Checkout libcups3
uses: actions/checkout@v4
with:
repository: OpenPrinting/libcups
path: libcups
- name: Configure libcups3
run: cd libcups; ./configure --enable-debug --disable-shared
- name: Build/Install libcups3
run: cd libcups; make && sudo make install
- name: Checkout PAPPL
uses: actions/checkout@v4
with:
repository: michaelrsweet/pappl
path: pappl
- name: Configure PAPPL
run: cd pappl; ./configure --enable-debug --disable-shared
- name: Build/Install PAPPL
run: cd pappl; make && sudo make install
- name: Configure cups-local
env:
CC: /usr/bin/gcc
run: ./configure --enable-debug --enable-maintainer
- name: Build cups-local
run: make
- name: Test cups-local
env:
ASAN_OPTIONS: leak_check_at_exit=false
run: make test
- name: Run Clang Static Analyzer
run: make CC=clang "GHA_ERROR=::error::" clang
- name: Run cppcheck
run: make "GHA_ERROR=::error::" cppcheck

build-macos:

runs-on: macos-latest

steps:
- name: Checkout PAPPL sources
uses: actions/checkout@v4
- name: Install Prerequisites
run: brew install cppcheck libjpeg libpng libusb openssl@3
- name: Checkout libcups3
uses: actions/checkout@v4
with:
repository: OpenPrinting/libcups
path: libcups
- name: Configure libcups3
run: cd libcups; ./configure --enable-debug --disable-shared
- name: Build/Install libcups3
run: cd libcups; make && sudo make install
- name: Checkout PAPPL
uses: actions/checkout@v4
with:
repository: michaelrsweet/pappl
path: pappl
- name: Configure PAPPL
run: cd pappl; ./configure --enable-debug --disable-shared
- name: Build/Install PAPPL
run: cd pappl; make && sudo make install
- name: Configure cups-local
run: ./configure --enable-debug --enable-maintainer --with-sanitizer=address
- name: Build cups-local
run: make
- name: Test cups-local
run: make test
- name: Run Clang Static Analyzer
run: make "GHA_ERROR=::error::" clang
- name: Run cppcheck
run: make "GHA_ERROR=::error::" cppcheck
73 changes: 73 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '39 11 * * 3'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]

steps:
- name: Checkout cups-local sources
uses: actions/checkout@v4
- name: Update build environment
run: sudo apt-get update --fix-missing -y
- name: Install prerequisites
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libgnutls28-dev libjpeg-dev libpam-dev libpng-dev libusb-1.0-0-dev zlib1g-dev
- name: Checkout libcups3
uses: actions/checkout@v4
with:
repository: OpenPrinting/libcups
path: libcups
- name: Configure libcups3
run: cd libcups; ./configure --enable-debug
- name: Build/install libcups3
run: cd libcups; make && sudo make install
- name: Checkout PAPPL
uses: actions/checkout@v4
with:
repository: michaelrsweet/pappl
path: pappl
- name: Configure PAPPL
run: cd pappl; ./configure --enable-debug --disable-shared
- name: Build/Install PAPPL
run: cd pappl; make && sudo make install
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql.yml
queries: +security-and-quality
- name: Autobuild
uses: github/codeql-action/autobuild@v2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{ matrix.language }}"
60 changes: 60 additions & 0 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Coverity Scan

on: workflow_dispatch

jobs:
coverity-scan:
runs-on: ubuntu-latest
environment: Coverity
steps:
- name: Checkout PAPPL sources
uses: actions/checkout@v4
- name: Update build environment
run: sudo apt-get update --fix-missing -y
- name: Install prerequisites
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libgnutls28-dev libjpeg-dev libpam-dev libpng-dev libusb-1.0-0-dev zlib1g-dev
- name: Checkout libcups3
uses: actions/checkout@v4
with:
repository: OpenPrinting/libcups
path: libcups
- name: Configure libcups3
run: cd libcups; ./configure --enable-debug
- name: Build/install libcups3
run: cd libcups; make && sudo make install
- name: Checkout PAPPL
uses: actions/checkout@v4
with:
repository: michaelrsweet/pappl
path: pappl
- name: Configure PAPPL
run: cd pappl; ./configure --enable-debug --disable-shared
- name: Build/Install PAPPL
run: cd pappl; make && sudo make install
- name: Download Coverity Build Tool
run: |
wget -q https://scan.coverity.com/download/linux64 --post-data token="$TOKEN&project=$GITHUB_REPOSITORY" -O cov-analysis-linux64.tar.gz
mkdir cov-analysis-linux64
tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}

- name: Configure cups-local
run: ./configure --enable-debug --enable-maintainer

- name: Build cups-local with cov-build
run: |
export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
cov-build --dir cov-int make
- name: Submit the Result to Coverity Scan
run: |
tar czvf cov.tgz cov-int
curl \
--form token=$TOKEN \
--form email=michael.r.sweet@gmail.com \
--form file=@cov.tgz \
--form version="$GITHUB_REF" \
--form description="$GITHUB_SHA" \
"https://scan.coverity.com/builds?project=$GITHUB_REPOSITORY"
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}

0 comments on commit 588bbe1

Please sign in to comment.