-
Notifications
You must be signed in to change notification settings - Fork 1
131 lines (126 loc) · 3.62 KB
/
release.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
---
name: "🚀 Release"
on:
push:
tags:
- '*.*'
jobs:
build_staging:
runs-on: ubuntu-latest
strategy:
matrix:
type:
- debian
name: debian staging build container
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Login to ghcr.io
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build image
uses: docker/[email protected]
with:
file: staging/Dockerfile.${{ matrix.type }}.staging
platforms: linux/amd64
push: true
provenance: false
tags: |
ghcr.io/linux-nvme/${{ matrix.type }}.staging:main
build_tools:
runs-on: ubuntu-latest
name: build samurai and muon
needs: build_staging
container:
image: ghcr.io/linux-nvme/debian.staging:main
steps:
- uses: actions/checkout@v4
- name: build
run: |
scripts/build-muon.sh
- uses: actions/upload-artifact@v4
name: Upload artifacts
with:
name: samu-muon
path: bin
deploy_debian_containers:
runs-on: ubuntu-latest
strategy:
matrix:
type:
- debian
- debian.python
needs: build_tools
name: debian build containers
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Get release
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: samu-muon
path: bin
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Login to ghcr.io
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build image
uses: docker/[email protected]
with:
context: .
file: Dockerfile.${{ matrix.type }}
platforms: linux/amd64
push: true
provenance: false
tags: |
ghcr.io/linux-nvme/${{ matrix.type }}:${{ env.RELEASE_VERSION }}
ghcr.io/linux-nvme/${{ matrix.type }}:latest
deploy_cross_containers:
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- armhf
- ppc64le
- s390x
name: ubuntu cross container
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Get release
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Login to ghcr.io
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build image
uses: docker/[email protected]
with:
file: Dockerfile.ubuntu.${{ matrix.arch }}
platforms: linux/amd64
push: true
provenance: false
tags: |
ghcr.io/linux-nvme/ubuntu-cross-${{ matrix.arch }}:${{ env.RELEASE_VERSION }}
ghcr.io/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest