|
11 | 11 | paths: |
12 | 12 | - '**Dockerfile' |
13 | 13 | - 'docker-bake.hcl' |
| 14 | + workflow_dispatch: |
14 | 15 |
|
15 | 16 | jobs: |
16 | 17 | build: |
17 | 18 | runs-on: ubuntu-latest |
18 | 19 | steps: |
19 | 20 | - uses: actions/checkout@v2 |
20 | | - - name: Run pre-commit to check all files |
21 | | - run: | |
22 | | - pip install pre-commit |
23 | | - pre-commit install |
24 | | - pre-commit run --all-files |
25 | | - - name: Login container registry |
26 | | - run: | |
27 | | - echo $CR_PAT | docker login ghcr.io -u shenxianpeng --password-stdin |
28 | | - env: |
29 | | - CR_PAT: ${{ secrets.CR_PAT }} |
| 21 | + |
| 22 | + - name: Set up Docker Buildx |
| 23 | + uses: docker/setup-buildx-action@v2.8.0 |
| 24 | + |
| 25 | + - name: Check formatting |
| 26 | + run: make install-deps && make lint |
| 27 | + |
30 | 28 | - name: Get changed files |
31 | 29 | id: changed-files |
32 | 30 | uses: tj-actions/changed-files@v18.4 |
33 | | - - name: Set up Docker Buildx |
34 | | - uses: docker/setup-buildx-action@v2.8.0 |
35 | | - - name: Build & Test (Publish) image |
| 31 | + |
| 32 | + - name: Login container registries |
36 | 33 | run: | |
| 34 | + echo $CR_PAT | docker login ghcr.io -u shenxianpeng --password-stdin |
37 | 35 | docker login -u '${{ secrets.DOCKER_USERNAME }}' -p '${{ secrets.DOCKER_PASSWORD }}' |
| 36 | + env: |
| 37 | + CR_PAT: ${{ secrets.CR_PAT }} |
| 38 | + |
| 39 | + - name: Build & Test & (Publish) image |
| 40 | + run: | |
38 | 41 | for file in ${{ steps.changed-files.outputs.all_changed_files }}; do |
39 | 42 | if [[ "$file" == *"Dockerfile" ]]; then |
40 | 43 | set -e |
41 | | - docker buildx bake --file docker-bake.hcl clang-tools-`dirname $file` |
42 | | - docker images |
43 | | -
|
44 | | - echo "start to test ..." |
45 | 44 | tag=`dirname $file` |
| 45 | + echo "start to build clang-tools:$tag" |
| 46 | + docker buildx bake --file docker-bake.hcl clang-tools-$tag |
| 47 | +
|
| 48 | + echo "start to test clang-tools:$tag" |
46 | 49 | if [ $tag == "all" ]; then |
47 | 50 | clang_versions="16 15 14 13 12 11 10 9 8" |
48 | 51 | for clang_version in ${clang_versions}; do |
|
58 | 61 | fi |
59 | 62 |
|
60 | 63 | if [[ $GITHUB_EVENT_NAME == 'push' ]]; then |
61 | | - echo "start to publish ..." |
62 | | - docker buildx bake --file docker-bake.hcl --push clang-tools-`dirname $file` |
| 64 | + echo "start to publish clang-tools:$tag" |
| 65 | + docker buildx bake --file docker-bake.hcl --push clang-tools-$tag |
63 | 66 | fi |
| 67 | + else |
| 68 | + docker buildx bake --file docker-bake.hcl clang-tools-$tag --print |
64 | 69 | fi |
65 | 70 | done |
0 commit comments