-
Notifications
You must be signed in to change notification settings - Fork 21
69 lines (61 loc) · 1.72 KB
/
build_matrix.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
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '0 12 * * 1' # every Monday at 11:00 UTC - 12:00 CET
jobs:
check-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup-lint
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends clang-format make
- name: check-lint
run: make lint-check
build:
needs: check-lint
strategy:
fail-fast: false # we want all the flows to run, to success or failure
matrix:
distribution:
- ubuntu-24.04
- ubuntu-22.04
- ubuntu-20.04
- debian-12
- debian-11
- debian-10
- centos-stream9
compiler:
- g++
include:
- distribution: ubuntu-22.04-clang
compiler: clang++
uses: ./.github/workflows/build_generic.yml
with:
distribution: ${{ matrix.distribution }}
compiler: ${{ matrix.compiler }}
release:
needs: build
if: github.ref == 'refs/heads/main' && github.event_name != 'schedule'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4 # probably not needed, but just in case
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts/
pattern: rdock-*
merge-multiple: true
- name: Set version
id: set_version
run: echo "RELEASE_VERSION=$(date +%y.%m).${{ github.run_number }}" >> "$GITHUB_OUTPUT"
- name: Create release
uses: ncipollo/release-action@v1
with:
tag: v${{ steps.set_version.outputs.RELEASE_VERSION }}
artifacts: artifacts/*.tar.gz
draft: true