ci: build ffmpeg and verify it in a separate jobs

- it is an independent task and should be done separately
 - we can use smaller machines for that
This commit is contained in:
Aleksei Kuzmin 2018-09-19 14:53:22 +02:00
parent 080d499053
commit c75537b0bc

View file

@ -166,8 +166,6 @@ step-persist-data-for-tests: &step-persist-data-for-tests
# Build artifacts # Build artifacts
- src/out/Default/dist.zip - src/out/Default/dist.zip
- src/out/Default/gen/node_headers - src/out/Default/gen/node_headers
- src/out/ffmpeg/libffmpeg.dylib
- src/out/ffmpeg/libffmpeg.so
step-electron-dist-unzip: &step-electron-dist-unzip step-electron-dist-unzip: &step-electron-dist-unzip
run: run:
@ -319,11 +317,6 @@ steps-testing-build: &steps-testing-build
- *step-electron-dist-build - *step-electron-dist-build
- *step-electron-dist-store - *step-electron-dist-store
# ffmpeg
- *step-ffmpeg-gn-gen
- *step-ffmpeg-build
- *step-ffmpeg-store
# Node.js headers # Node.js headers
- *step-nodejs-headers-build - *step-nodejs-headers-build
@ -345,11 +338,6 @@ steps-release-build: &steps-release-build
- *step-electron-dist-build - *step-electron-dist-build
- *step-electron-dist-store - *step-electron-dist-store
# ffmpeg
- *step-ffmpeg-gn-gen
- *step-ffmpeg-build
- *step-ffmpeg-store
# native mksnapshot # native mksnapshot
- *step-maybe-native-mksnapshot-gn-gen - *step-maybe-native-mksnapshot-gn-gen
- *step-maybe-native-mksnapshot-build - *step-maybe-native-mksnapshot-build
@ -366,6 +354,22 @@ steps-release-build: &steps-release-build
- *step-maybe-notify-slack-failure - *step-maybe-notify-slack-failure
- *step-maybe-notify-slack-success - *step-maybe-notify-slack-success
steps-ffmpeg-build: &steps-ffmpeg-build
steps:
- attach_workspace:
at: .
- *step-depot-tools-add-to-path
- *step-setup-env-for-build
- *step-ffmpeg-gn-gen
- *step-ffmpeg-build
- *step-ffmpeg-store
- persist_to_workspace:
root: .
paths:
- src/out/ffmpeg/libffmpeg.so
steps-native-tests: &steps-native-tests steps-native-tests: &steps-native-tests
steps: steps:
- attach_workspace: - attach_workspace:
@ -378,7 +382,7 @@ steps-native-tests: &steps-native-tests
# TODO(alexeykuzmin): Run the tests. It can be extremely parallelized! # TODO(alexeykuzmin): Run the tests. It can be extremely parallelized!
steps-tests: &steps-tests steps-verify-ffmpeg: &steps-verify-ffmpeg
steps: steps:
- attach_workspace: - attach_workspace:
at: . at: .
@ -388,6 +392,14 @@ steps-tests: &steps-tests
- *step-verify-ffmpeg - *step-verify-ffmpeg
steps-tests: &steps-tests
steps:
- attach_workspace:
at: .
- *step-depot-tools-add-to-path
- *step-electron-dist-unzip
- *step-setup-for-headless-testing
- *step-electron-tests-run - *step-electron-tests-run
- *step-electron-tests-store-results - *step-electron-tests-store-results
@ -484,6 +496,11 @@ jobs:
<<: *env-testing-build <<: *env-testing-build
<<: *steps-testing-build <<: *steps-testing-build
linux-x64-ffmpeg:
<<: *machine-linux-medium
environment:
<<: *steps-ffmpeg-build
linux-x64-release: linux-x64-release:
<<: *machine-linux-2xlarge <<: *machine-linux-2xlarge
environment: environment:
@ -504,6 +521,12 @@ jobs:
<<: *env-testing-build <<: *env-testing-build
<<: *steps-testing-build <<: *steps-testing-build
linux-ia32-ffmpeg:
<<: *machine-linux-medium
environment:
<<: *env-ia32
<<: *steps-ffmpeg-build
linux-ia32-release: linux-ia32-release:
<<: *machine-linux-2xlarge <<: *machine-linux-2xlarge
environment: environment:
@ -525,6 +548,12 @@ jobs:
<<: *env-testing-build <<: *env-testing-build
<<: *steps-testing-build <<: *steps-testing-build
linux-arm-ffmpeg:
<<: *machine-linux-medium
environment:
<<: *env-arm
<<: *steps-ffmpeg-build
linux-arm-release: linux-arm-release:
<<: *machine-linux-2xlarge <<: *machine-linux-2xlarge
environment: environment:
@ -547,6 +576,12 @@ jobs:
<<: *env-testing-build <<: *env-testing-build
<<: *steps-testing-build <<: *steps-testing-build
linux-arm64-ffmpeg:
<<: *machine-linux-medium
environment:
<<: *env-arm64
<<: *steps-ffmpeg-build
linux-arm64-release: linux-arm64-release:
<<: *machine-linux-2xlarge <<: *machine-linux-2xlarge
environment: environment:
@ -579,6 +614,10 @@ jobs:
<<: *machine-linux-medium <<: *machine-linux-medium
<<: *steps-tests <<: *steps-tests
linux-x64-testing-verify-ffmpeg:
<<: *machine-linux-medium
<<: *steps-verify-ffmpeg
linux-x64-release-tests: linux-x64-release-tests:
<<: *machine-linux-medium <<: *machine-linux-medium
<<: *steps-tests <<: *steps-tests
@ -589,6 +628,12 @@ jobs:
<<: *env-ia32 <<: *env-ia32
<<: *steps-tests <<: *steps-tests
linux-ia32-testing-verify-ffmpeg:
<<: *machine-linux-medium
environment:
<<: *env-ia32
<<: *steps-verify-ffmpeg
linux-ia32-release-tests: linux-ia32-release-tests:
<<: *machine-linux-medium <<: *machine-linux-medium
environment: environment:
@ -624,6 +669,14 @@ workflows:
- linux-x64-testing-tests: - linux-x64-testing-tests:
requires: requires:
- linux-x64-testing - linux-x64-testing
- linux-x64-ffmpeg:
requires:
- linux-checkout
- linux-x64-testing-verify-ffmpeg:
requires:
- linux-x64-testing
- linux-x64-ffmpeg
- linux-ia32-debug: - linux-ia32-debug:
requires: requires:
- linux-checkout - linux-checkout
@ -633,18 +686,32 @@ workflows:
- linux-ia32-testing-tests: - linux-ia32-testing-tests:
requires: requires:
- linux-ia32-testing - linux-ia32-testing
- linux-ia32-ffmpeg:
requires:
- linux-checkout
- linux-ia32-testing-verify-ffmpeg:
requires:
- linux-ia32-testing
- linux-ia32-ffmpeg
- linux-arm-debug: - linux-arm-debug:
requires: requires:
- linux-arm-checkout - linux-arm-checkout
- linux-arm-testing: - linux-arm-testing:
requires: requires:
- linux-arm-checkout - linux-arm-checkout
- linux-arm-ffmpeg:
requires:
- linux-arm-checkout
- linux-arm64-debug: - linux-arm64-debug:
requires: requires:
- linux-arm64-checkout - linux-arm64-checkout
- linux-arm64-testing: - linux-arm64-testing:
requires: requires:
- linux-arm64-checkout - linux-arm64-checkout
- linux-arm64-ffmpeg:
requires:
- linux-arm64-checkout
build-mac-fork-prs: build-mac-fork-prs:
jobs: jobs: