opencv / ci-gha-workflow Goto Github PK
View Code? Open in Web Editor NEWGitHub Actions workflows for OpenCV project
License: Apache License 2.0
GitHub Actions workflows for OpenCV project
License: Apache License 2.0
If you compare the build artifacts from these 2 runs
The first is much bigger than the second. One big difference between the 2 is OpenCV-android-sdk/sdk/native/libs/x86_64/libopencv_java4.so
The size of libopencv_java4.so is the same for all other architectures (armeabi-v7a, arm64-v8a, x86). For whatever reason it only doubled in size for x86_64.
OpenCV-android-sdk/sdk/native/libs/x86_64/libopencv_java4.so should be around 26 MB, but it ends up being over 52 MB
The bug is introduced in #78 , where ${{ github.workflow }}
is used to set group name with the workflow name. However, ${{ github.workflow }}
returns the parent workflow name, making all jobs triggered by a commit in a PR will lineup together.
For example, in https://github.com/opencv/opencv/actions/runs/3477363324, the Annotations section shows the group name of concurrency is PR:4.x-refs/pull/22814/merge
(PR:4.x
is the name of https://github.com/opencv/opencv/blob/4.x/.github/workflows/PR-4.x.yaml), but the expected return values of ${{ github.workflow }}
should be OCV PR:4.x ARM64
, OCV PR:4.x U20
and more (workflow files in this repo). So one job in this lineup will keep running but others will be cancelled.
I propose to continue running tests when build completes but previous unit tests fail. You can see from this log that GitHub Actions workflow stops once there is an error. However, for a workflow which completes building, stopping at one possible failed unit test is too inefficient.
An implementation to this feature can be as follows:
jobs:
BuildAndTest:
steps:
# ...
- name: Build OpenCV
id: build-opencv # used as reference below
run: #...
# ...
- name: Accuracy:core
if: ${{ always() && steps.build-opencv.outcome == 'success' }}
run: #...
This should work and show "failed" in overall page if one test fails.
What do you think? @alalek @asenyaev @asmorkalov
Reference:
ci-gha-workflow/.github/workflows/OCV-Contrib-PR-3.4-ARM64.yaml
Lines 57 to 60 in 8578610
Is it safe to use injections here via env var? I suppose once SOURCE_BRANCH_NAME
and other env vars are created, they should be referenced simply as $SOURCE_BRANCH_NAME
, otherwise it may not have proper effect.
Please, see Remediation section as a reference.
Build passes with many active build warnings.
https://github.com/opencv/opencv/actions/runs/5583870111/jobs/10204634906?pr=23897
See https://github.com/opencv/opencv/releases
N/A
N/A
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.