Skip to content

Commit

Permalink
Speedup test by refine the task dependencies.
Browse files Browse the repository at this point in the history
  • Loading branch information
winlinvip committed Aug 14, 2022
1 parent 2d036c3 commit 4126c42
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 23 deletions.
33 changes: 10 additions & 23 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
name: build-centos7
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -28,7 +28,7 @@ jobs:
name: build-centos6
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -42,7 +42,7 @@ jobs:
name: build-ubuntu16
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -56,7 +56,7 @@ jobs:
name: build-ubuntu18
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -70,7 +70,7 @@ jobs:
name: build-ubuntu20
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -84,7 +84,7 @@ jobs:
name: build-cross-arm
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -97,7 +97,7 @@ jobs:
name: build-cross-aarch64
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -123,8 +123,6 @@ jobs:
utest:
name: utest
runs-on: ubuntu-20.04
needs:
- multile-arch-amd64
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -141,8 +139,6 @@ jobs:
coverage:
name: coverage
runs-on: ubuntu-20.04
needs:
- utest
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand Down Expand Up @@ -231,23 +227,14 @@ jobs:
--build-arg IMAGE=ossrs/srs:ubuntu20-cache \
-f trunk/Dockerfile .
artifacts:
name: artifacts-done
needs:
- multile-arch-armv7
- multile-arch-aarch64
- multile-arch-amd64
runs-on: ubuntu-20.04
steps:
- run: echo 'Artifacts done'

done:
name: done
needs:
- build
- utest
- coverage
- artifacts
- multile-arch-armv7
- multile-arch-aarch64
- multile-arch-amd64
runs-on: ubuntu-20.04
steps:
- run: echo 'All done'
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,10 @@ Please read [APIS](trunk/doc/Resources.md#apis).

Please read [MIRRORS](trunk/doc/Resources.md#mirrors).

## Dockers

Please read [DOCKERS](trunk/doc/Dockers.md).

Beijing, 2013.10<br/>
Winlin

90 changes: 90 additions & 0 deletions trunk/doc/Dockers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Dockers

About SRS Dockerfile:

* Dockerfile: For release and test.
* Dockerfile.pkg: For package binary.
* Dockerfile.builds: For test.
* Dockerfile.test: For test.
* Dockerfile.cov: For test and coverage.

## Dependency Tree

The dependency tree about Dockerfile:

* Dockerfile
* [ossrs/srs:ubuntu20](https://github.com/ossrs/dev-docker/tree/ubuntu20)
* [ossrs/srs:ubuntu20-base2](https://github.com/ossrs/dev-docker/blob/ubuntu20/Dockerfile.base2)
* [ossrs/srs:ubuntu20-base](https://github.com/ossrs/dev-docker/blob/ubuntu20/Dockerfile.base)
* ubuntu:focal
* ubuntu:focal
* [ossrs/srs:ubuntu20-cache](https://github.com/ossrs/dev-docker/tree/ubuntu20-cache)
* [ossrs/srs:ubuntu20](https://github.com/ossrs/dev-docker/tree/ubuntu20)
* ubuntu:focal
* ubuntu:focal
* Dockerfile.test
* [ossrs/srs:dev-gcc7-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev-gcc7-cache)
* [ossrs/srs:dev-gcc7](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev-gcc7)
* centos:7
* Dockerfile.cov
* [ossrs/srs:dev-gcc7-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev-gcc7-cache)
* [ossrs/srs:dev-gcc7](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev-gcc7)
* centos:7
* Dockerfile.pkg
* [ossrs/srs:dev](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev)
* centos:7
* Dockerfile.builds
* [ossrs/srs:dev-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev-cache)
* [ossrs/srs:dev](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev)
* centos:7
* [ossrs/srs:dev6-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev6-cache)
* [ossrs/srs:dev6](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev6)
* centos:6
* [ossrs/srs:ubuntu16-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16-cache)
* [ossrs/srs:ubuntu16](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16)
* ubuntu:xenial
* [ossrs/srs:ubuntu18-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu18-cache)
* [ossrs/srs:ubuntu18](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu18)
* ubuntu:bionic
* [ossrs/srs:ubuntu20-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20-cache)
* [ossrs/srs:ubuntu20](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20)
* ubuntu:focal
* [ossrs/srs:ubuntu16-cross-arm](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16-cross-arm)
* [ossrs/srs:ubuntu16](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16)
* ubuntu:xenial
* [ossrs/srs:ubuntu16-cross-aarch64](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16-cross-aarch64)
* [ossrs/srs:ubuntu16](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16)
* ubuntu:xenial
* [ossrs/srs:ubuntu20-cross-arm](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20-cross-arm)
* [ossrs/srs:ubuntu20](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20)
* ubuntu:focal
* [ossrs/srs:ubuntu20-cross-aarch64](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20-cross-aarch64)
* [ossrs/srs:ubuntu20](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20)
* ubuntu:focal

## Image for Cache

To speedup the test, we use a set of cache images.

If need to reconfigure SRS, please update SRS, then update the images:

* [ossrs/srs:dev-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev-cache)
* [ossrs/srs:dev6-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:dev6-cache)
* [ossrs/srs:ubuntu16-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16-cache)
* [ossrs/srs:ubuntu18-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu18-cache)
* [ossrs/srs:ubuntu20-cache](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20-cache)
* [ossrs/srs:ubuntu16-cross-arm](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16-cross-arm)
* [ossrs/srs:ubuntu16-cross-aarch64](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu16-cross-aarch64)
* [ossrs/srs:ubuntu20-cross-arm](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20-cross-arm)
* [ossrs/srs:ubuntu20-cross-aarch64](https://github.com/ossrs/dev-docker/tree/ossrs/srs:ubuntu20-cross-aarch64)

For example, update the [release.yml](https://github.com/ossrs/dev-docker/blob/ubuntu20-cache/.github/workflows/release.yml) for ubuntu20-cache:

```bash
# Build SRS for cache, never install it.
# SRS is 2d036c3fd Fix #2747: Support Apple Silicon M1(aarch64). v5.0.41
# Please update this comment, if need to refresh the cached dependencies, like st/openssl/ffmpeg/libsrtp/libsrt etc.
```

Then push to github and the image will be updated automatically.

0 comments on commit 4126c42

Please sign in to comment.