157 lines (145 loc) · 7.08 KB
/
docker_build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
name: Build Docker Images
on: push
jobs:
qtcreator-clang:
name: "QtCreator"
strategy:
fail-fast: false
matrix:
distro: ['lunar']
clang: [
{major: 15, source: 'apt'},
{major: 16, source: 'apt'}
]
gcc: [
{major: 13, source: 'apt'}
]
qt_version: ['6.4.3', '6.5.2']
qtcreator: [
{version: "10.0.1-patched", url: "https://github.com/hicknhack-software/Qt-Creator/releases/download/v10.0.1-snapshot-2023-04-02/qtcreator-linux-x64-4589869247.7z"},
{version: "11.0.1", url: "https://github.com/qt-creator/qt-creator/releases/download/v11.0.1/qtcreator-linux-x64-11.0.1.7z"},
{version: "11.0.1-patched", url: "https://github.com/hicknhack-software/Qt-Creator/releases/download/v11.0.1-patched/qtcreator-linux-x64-5770500624.7z"}
]
include:
- distro: lunar
clang: {major: 16, source: 'apt'}
gcc: {major: 13, source: 'apt'}
qt_version: '6.5.2'
qtcreator: {version: "11.0.1-patched", url: "https://github.com/hicknhack-software/Qt-Creator/releases/download/v11.0.1-patched/qtcreator-linux-x64-5770500624.7z"}
clang_tags: |
arbmind/qtcreator-clang:latest
ghcr.io/arbmind/qtcreator-clang:latest
clang_libstdcpp_tags: |
arbmind/qtcreator-clang-libstdcpp:latest
ghcr.io/arbmind/qtcreator-clang-libstdcpp:latest
clang_libstdcpp_qt_tags: |
arbmind/qtcreator-clang-libstdcpp-qt:latest
ghcr.io/arbmind/qtcreator-clang-libstdcpp-qt:latest
gcc_tags: |
arbmind/qtcreator-gcc:latest
ghcr.io/arbmind/qtcreator-gcc:latest
gcc_qt_tags: |
arbmind/qtcreator-gcc-qt:latest
ghcr.io/arbmind/qtcreator-gcc-qt:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: QtCreator ${{ matrix.qtcreator.version }} + Clang${{ matrix.clang.major }}
uses: docker/build-push-action@v3
with:
target: qtcreator-clang
push: ${{ github.event_name != 'pull_request' }}
tags: |
arbmind/qtcreator-clang:${{ matrix.qtcreator.version }}-${{ matrix.clang.major }}
ghcr.io/arbmind/qtcreator-clang:${{ matrix.qtcreator.version }}-${{ matrix.clang.major }}
${{ matrix.clang_tags }}
build-args: |
DISTRO=${{ matrix.distro }}
CLANG_MAJOR=${{ matrix.clang.major }}
CLANG_SOURCE=${{ matrix.clang.source }}
QT_CREATOR_VERSION=${{ matrix.qtcreator.version }}
QTCREATOR_URL=${{ matrix.qtcreator.url }}
QTCREATOR_VERSION=${{ matrix.qtcreator.version }}
- name: QtCreator ${{ matrix.qtcreator.version }} + Clang${{ matrix.clang.major }} + libstdc++-${{ matrix.gcc.major }}
uses: docker/build-push-action@v3
with:
target: qtcreator-clang-libstdcpp
push: ${{ github.event_name != 'pull_request' }}
tags: |
arbmind/qtcreator-clang-libstdcpp:${{ matrix.qtcreator.version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}
ghcr.io/arbmind/qtcreator-clang-libstdcpp:${{ matrix.qtcreator.version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}
${{ matrix.clang_libstdcpp_tags }}
build-args: |
DISTRO=${{ matrix.distro }}
GCC_MAJOR=${{ matrix.gcc.major }}
GCC_SOURCE=${{ matrix.gcc.source }}
CLANG_MAJOR=${{ matrix.clang.major }}
CLANG_SOURCE=${{ matrix.clang.source }}
QT_VERSION=${{ matrix.qt_version }}
QTCREATOR_URL=${{ matrix.qtcreator.url }}
QTCREATOR_VERSION=${{ matrix.qtcreator.version }}
- name: QtCreator ${{ matrix.qtcreator.version }} + Clang${{ matrix.clang.major }} + libstdc++-${{ matrix.gcc.major }} + Qt-${{ matrix.qt_version }}
uses: docker/build-push-action@v3
with:
target: qtcreator-clang-libstdcpp-qt
push: ${{ github.event_name != 'pull_request' }}
tags: |
arbmind/qtcreator-clang-libstdcpp-qt:${{ matrix.qtcreator.version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}-${{ matrix.qt_version }}
ghcr.io/arbmind/qtcreator-clang-libstdcpp-qt:${{ matrix.qtcreator.version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}-${{ matrix.qt_version }}
${{ matrix.clang_libstdcpp_qt_tags }}
build-args: |
DISTRO=${{ matrix.distro }}
GCC_MAJOR=${{ matrix.gcc.major }}
GCC_SOURCE=${{ matrix.gcc.source }}
CLANG_MAJOR=${{ matrix.clang.major }}
CLANG_SOURCE=${{ matrix.clang.source }}
QT_VERSION=${{ matrix.qt_version }}
QTCREATOR_URL=${{ matrix.qtcreator.url }}
QTCREATOR_VERSION=${{ matrix.qtcreator.version }}
- name: QtCreator ${{ matrix.qtcreator.version }} + GCC${{ matrix.gcc.major }}
uses: docker/build-push-action@v3
with:
target: qtcreator-gcc
push: ${{ github.event_name != 'pull_request' }}
tags: |
arbmind/qtcreator-gcc:${{ matrix.qtcreator.version }}-${{ matrix.gcc.major }}
ghcr.io/arbmind/qtcreator-gcc:${{ matrix.qtcreator.version }}-${{ matrix.gcc.major }}
${{ matrix.gcc_tags }}
build-args: |
DISTRO=${{ matrix.distro }}
GCC_MAJOR=${{ matrix.gcc.major }}
GCC_SOURCE=${{ matrix.gcc.source }}
QT_VERSION=${{ matrix.qt_version }}
QTCREATOR_URL=${{ matrix.qtcreator.url }}
QTCREATOR_VERSION=${{ matrix.qtcreator.version }}
- name: QtCreator ${{ matrix.qtcreator.version }} + GCC${{ matrix.gcc.major }} + Qt-${{ matrix.qt_version }}
uses: docker/build-push-action@v3
with:
target: qtcreator-gcc-qt
push: ${{ github.event_name != 'pull_request' }}
tags: |
arbmind/qtcreator-gcc-qt:${{ matrix.qtcreator.version }}-${{ matrix.gcc.major }}-${{ matrix.qt_version }}
ghcr.io/arbmind/qtcreator-gcc-qt:${{ matrix.qtcreator.version }}-${{ matrix.gcc.major }}-${{ matrix.qt_version }}
${{ matrix.gcc_qt_tags }}
build-args: |
DISTRO=${{ matrix.distro }}
GCC_MAJOR=${{ matrix.gcc.major }}
GCC_SOURCE=${{ matrix.gcc.source }}
QT_VERSION=${{ matrix.qt_version }}
QTCREATOR_URL=${{ matrix.qtcreator.url }}
QTCREATOR_VERSION=${{ matrix.qtcreator.version }}