Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: CI

on:
push:
branches: [master]
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: ${{ matrix.os }} / ${{ matrix.std }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
# cxx_std_26 is left out on purpose: compilers that do not advertise it
# make target_compile_features fail to configure, rather than skip
std: [cxx_std_11, cxx_std_14, cxx_std_17, cxx_std_20, cxx_std_23]

steps:
- uses: actions/checkout@v4

- name: Configure
run: >
cmake -S . -B build
-DCMAKE_BUILD_TYPE=Release
-DCRONCPP_BUILD_TESTS=ON
-DCXX_STD_VER=${{ matrix.std }}

- name: Build
run: cmake --build build --config Release --parallel

- name: Test
run: ctest --test-dir build -C Release --output-on-failure

cppcheck:
name: cppcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install cppcheck
run: sudo apt-get update && sudo apt-get install -y cppcheck

# catch/ is vendored third party code, so only our own sources are checked
- name: Run cppcheck
run: cppcheck --quiet --error-exitcode=1 --enable=warning include test benchmark

ci:
name: CI
if: always()
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Check build results
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
run: exit 1
26 changes: 0 additions & 26 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(
croncpp
VERSION 0.0.0
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

croncpp is a C++11/14/17 header-only cross-platform library for handling CRON expressions. It implements two basic operations: parsing an expression and computing the next occurence of the scheduled time.

[![Build Status](https://travis-ci.org/mariusbancila/croncpp.svg?branch=master)](https://travis-ci.org/mariusbancila/croncpp)
[![Tests status](https://ci.appveyor.com/api/projects/status/lewwk7b42xwfp4xy?svg=true&pendingText=tests%20-%20pending&failingText=tests%20-%20FAILED&passingText=tests%20-%20OK)](https://ci.appveyor.com/project/mariusbancila/croncpp)
[![CI](https://github.com/mariusbancila/croncpp/actions/workflows/ci.yml/badge.svg)](https://github.com/mariusbancila/croncpp/actions/workflows/ci.yml)

## CRON expressions
A CRON expression is a string composed of six fields (in some implementation seven) separated by a whites space representing a time schedule. The general form is the following (with the `years` being optional):
Expand Down
28 changes: 0 additions & 28 deletions appveyor.yml

This file was deleted.

Loading
Loading