Add GitHub pipelines#308
Merged
Merged
Conversation
de46af0 to
4686106
Compare
4686106 to
dece0db
Compare
Contributor
Author
|
Obs.: This was edited to reflect ongoing changes in the main repo... Well, I guess that maybe a PR consisting only of the creation of pipeline files makes more sense. I am then removing from the present PR any change to source/project files. Therefore, this PR makes intentionally evident that some compilation settings are failing. Here's a table with this information:
I'm opening issues to make problems evident: And here are new PRs fixing these issues: In order to provide evidence that those new PRs indeed fix the issues at hand, here follows a table summarizing the statuses of the same PRs but requested against the present branch in my personal repo:
What do you think, @mgatny ? @orenmnero ? |
dece0db to
1f094c4
Compare
5fb4e1a to
26cb4ce
Compare
26cb4ce to
8019726
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds three pipelines to the repo, watching push and pull request events:
They make use of the integrated GitHub actions.
As the pipelines were being developed, some "bugs" were catched:
DataDictionaryTestCaseis buggy on Windows.resetBeforeAndAfterWithTestFileManagerfixture fromFileStoreTestCaseis also buggy on Windows.So a
#ifndef _MSC_VERwas added to takeresetBeforeAndAfterWithTestFileManagerout of the Windows compilation and the entries forDataDictionaryTestCasewere commented out from src/CMakeLists.txt and from src/test_unit_vs15.vcxproj.However, #280 fixes the issue with
DataDictionaryTestCase, as it's possible to check by merging the present PR with that, reversing the last commit from the present PR and waiting for the tests to complete.I understand that there's already a CI with Travis, but the present PR covers a more complete range of configurations. The Autotools pipeline runs on Linux and macOS; the CMake one, on Windows, Linux and macOS. The Visual Studio pipeline is the only one that covers only Windows runs.
As to configurations, the CMake pipeline covers debug and release, but do not touch architecture. The Visual Studio is the most complete in this regard, as it covers debug and release for the Win32 and Mixed Platforms architectures (those being the ones that make sense to build from quickfix_vs15.sln). The Autotools pipeline also do not touch on architecture and covers only release.
When it is possible the pipelines cover building and the three kinds of testing present -
at,ptandut. I think they stood for "Acceptance Tests", "Performance Tests" and "Unit Tests". Although it can be easily implemented, there are no tests for macOS. Also, the acceptance tests are set to be performed only for release builds triggered by pull requests. Performance tests also run only for release builds (but do so for both push and pull requests). Unit tests run always (except for macOS, as said earlier).The Autotools pipeline just runs a
make checkafter the build and then cats test/test-suite.log. The same actions as the ones done by Travis.The only solution being used by the Visual Studio pipeline is quickfix_vs15.sln for GitHub's test runners only come with Visual Studio 2019 anyway. It was necessary to pass command line arguments to
msbuildto force it to use the installed versions ofPlatformToolsetandWindowsTargetPlatformVersion:quickfix/.github/workflows/build_test_sln.yml
Lines 27 to 35 in 89981c9
If there's interest in merging this PR, I can address any issues that may arise.