]>
Commit | Line | Data |
---|---|---|
f3fbbf01 C |
1 | name: Docker |
2 | ||
3 | on: | |
4 | push: | |
5 | branches: | |
6 | - 'master' | |
7 | schedule: | |
8 | - cron: '0 3 * * *' | |
9 | ||
10 | jobs: | |
11 | generate-matrix: | |
12 | name: Generate matrix for Docker build | |
13 | runs-on: ubuntu-latest | |
14 | outputs: | |
15 | matrix: ${{ steps.set-matrix.outputs.matrix }} | |
16 | steps: | |
17 | - name: Checkout | |
18 | uses: actions/checkout@v2 | |
19 | with: | |
20 | ref: master | |
21 | - name: Set matrix for build | |
22 | id: set-matrix | |
23 | run: | | |
24 | # FIXME: https://github.com/actions/checkout/issues/290 | |
25 | git fetch --force --tags | |
26 | ||
bdb4cc80 C |
27 | one="{ \"file\": \"./support/docker/production/Dockerfile.bullseye\", \"ref\": \"develop\", \"tags\": \"chocobozzz/peertube:develop-bullseye\" }" |
28 | two="{ \"file\": \"./support/docker/production/Dockerfile.buster\", \"ref\": \"master\", \"tags\": \"chocobozzz/peertube:production-buster,chocobozzz/peertube:$(git describe --abbrev=0)-buster\" }" | |
29 | three="{ \"file\": \"./support/docker/production/Dockerfile.nginx\", \"ref\": \"master\", \"tags\": \"chocobozzz/peertube-webserver:latest\" }" | |
f3fbbf01 C |
30 | |
31 | matrix="[$one,$two,$three]" | |
32 | echo ::set-output name=matrix::{\"include\":$(echo $matrix)} | |
33 | ||
34 | docker: | |
35 | runs-on: ubuntu-latest | |
36 | ||
37 | needs: generate-matrix | |
38 | ||
39 | strategy: | |
40 | matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }} | |
41 | fail-fast: false | |
42 | ||
43 | steps: | |
44 | - | |
45 | name: Set up QEMU | |
46 | uses: docker/setup-qemu-action@v1 | |
47 | - | |
48 | name: Set up Docker Buildx | |
49 | uses: docker/setup-buildx-action@v1 | |
50 | - | |
51 | name: Login to DockerHub | |
52 | uses: docker/login-action@v1 | |
53 | with: | |
54 | username: ${{ secrets.DOCKERHUB_USERNAME }} | |
55 | password: ${{ secrets.DOCKERHUB_TOKEN }} | |
56 | ||
57 | - | |
58 | name: Checkout develop | |
59 | uses: actions/checkout@v2 | |
60 | with: | |
61 | ref: ${{ matrix.ref }} | |
62 | - | |
63 | name: Docker build | |
64 | uses: docker/build-push-action@v2 | |
65 | with: | |
66 | context: '.' | |
67 | platforms: linux/amd64,linux/arm64 | |
68 | push: true | |
69 | file: ${{ matrix.file }} | |
70 | tags: ${{ matrix.tags }} |