|
9 | 9 | - 'v*.*.*'
|
10 | 10 |
|
11 | 11 | jobs:
|
12 |
| - build: |
13 |
| - # Downgrade due to segfault issus with qemu |
14 |
| - runs-on: ubuntu-22.04 |
| 12 | + prepare: |
| 13 | + runs-on: ubuntu-latest |
| 14 | + outputs: |
| 15 | + version: ${{ steps.latest_version.outputs.version }} |
| 16 | + tag: ${{ steps.latest_version.outputs.tag }} |
| 17 | + tags: ${{ steps.meta.outputs.tags }} |
| 18 | + labels: ${{ steps.meta.outputs.labels }} |
15 | 19 | steps:
|
16 | 20 | - uses: actions/checkout@v4
|
17 | 21 | with:
|
@@ -51,14 +55,14 @@ jobs:
|
51 | 55 | type=semver,pattern={{major}}.{{minor}},value=${{ steps.latest_version.outputs.version }}
|
52 | 56 | type=semver,pattern={{version}},value=${{ steps.latest_version.outputs.version }}
|
53 | 57 |
|
54 |
| - - name: Set up QEMU |
55 |
| - id: qemu |
56 |
| - uses: docker/setup-qemu-action@v3 |
| 58 | + build-intel: |
| 59 | + needs: [prepare] |
| 60 | + runs-on: ubuntu-24.04 |
| 61 | + steps: |
| 62 | + - uses: actions/checkout@v4 |
57 | 63 | with:
|
58 |
| - # setup-qemu-action by default uses tonistiigi/binfmt:latest, |
59 |
| - # which was out of date, see https://github.com/tonistiigi/binfmt/issues/165. |
60 |
| - # Now it has been updated, but still causes segfaults. |
61 |
| - image: tonistiigi/binfmt:qemu-v7.0.0 |
| 64 | + ref: ${{ needs.prepare.outputs.tag }} |
| 65 | + fetch-depth: 100 |
62 | 66 |
|
63 | 67 | - name: Set up Docker Buildx
|
64 | 68 | id: buildx
|
@@ -88,23 +92,56 @@ jobs:
|
88 | 92 | uses: docker/build-push-action@v6
|
89 | 93 | with:
|
90 | 94 | context: .
|
91 |
| - platforms: linux/amd64,linux/arm64 |
| 95 | + platforms: linux/amd64 |
92 | 96 | push: true
|
93 |
| - tags: ${{ steps.meta.outputs.tags }} |
94 |
| - labels: ${{ steps.meta.outputs.labels }} |
| 97 | + tags: ${{ needs.prepare.outputs.tags }} |
| 98 | + labels: ${{ needs.prepare.outputs.labels }} |
95 | 99 |
|
96 |
| - - name: Send mail for Opsgenie heartbeat |
97 |
| - uses: dawidd6/action-send-mail@v4 |
| 100 | + build-arm: |
| 101 | + needs: [prepare] |
| 102 | + runs-on: ubuntu-24.02-arm |
| 103 | + steps: |
| 104 | + - uses: actions/checkout@v4 |
98 | 105 | with:
|
99 |
| - connection_url: ${{secrets.OPSGENIE_HEARTBEAT_MAIL_CREDENTIALS}} |
100 |
| - subject: Github Actions heartbeat ping |
101 |
| - |
102 |
| - from: Github Actions <[email protected]> |
103 |
| - body: Build job of ${{github.repository}} completed successfully! |
| 106 | + ref: ${{ needs.prepare.outputs.tag }} |
| 107 | + fetch-depth: 100 |
| 108 | + |
| 109 | + - name: Set up Docker Buildx |
| 110 | + id: buildx |
| 111 | + uses: docker/setup-buildx-action@v3 |
| 112 | + |
| 113 | + - name: Login to Docker Hub |
| 114 | + uses: docker/login-action@v3 |
| 115 | + with: |
| 116 | + username: ${{ secrets.DOCKER_IO_REGISTRY_USER }} |
| 117 | + password: ${{ secrets.DOCKER_IO_REGISTRY_PASSWORD }} |
| 118 | + |
| 119 | + - name: Login to Google Artifacts Registry |
| 120 | + uses: docker/login-action@v3 |
| 121 | + with: |
| 122 | + registry: europe-docker.pkg.dev/flownative/docker |
| 123 | + username: '_json_key' |
| 124 | + password: ${{ secrets.GOOGLE_ARTIFACTS_PASSWORD_DOCKER }} |
| 125 | + |
| 126 | + - name: Login to Harbor |
| 127 | + uses: docker/login-action@v3 |
| 128 | + with: |
| 129 | + registry: harbor.flownative.io |
| 130 | + username: ${{ secrets.HARBOR_BEACH_USERNAME }} |
| 131 | + password: ${{ secrets.HARBOR_BEACH_PASSWORD }} |
| 132 | + |
| 133 | + - name: Build Docker image |
| 134 | + uses: docker/build-push-action@v6 |
| 135 | + with: |
| 136 | + context: . |
| 137 | + platforms: linux/arm64 |
| 138 | + push: true |
| 139 | + tags: ${{ needs.prepare.outputs.tags }} |
| 140 | + labels: ${{ needs.prepare.outputs.labels }} |
104 | 141 |
|
105 | 142 | release-helm:
|
106 | 143 | runs-on: ubuntu-latest
|
107 |
| - needs: build |
| 144 | + needs: [build-intel, build-arm] |
108 | 145 | permissions:
|
109 | 146 | contents: write
|
110 | 147 | packages: write
|
@@ -134,3 +171,12 @@ jobs:
|
134 | 171 | repository_path: 'beach-charts'
|
135 | 172 | repository_user: ${{ secrets.HARBOR_BEACH_CHARTS_USERNAME }}
|
136 | 173 | repository_password: ${{ secrets.HARBOR_BEACH_CHARTS_PASSWORD }}
|
| 174 | + |
| 175 | + - name: Send mail for Opsgenie heartbeat |
| 176 | + uses: dawidd6/action-send-mail@v4 |
| 177 | + with: |
| 178 | + connection_url: ${{secrets.OPSGENIE_HEARTBEAT_MAIL_CREDENTIALS}} |
| 179 | + subject: Github Actions heartbeat ping |
| 180 | + |
| 181 | + from: Github Actions <[email protected]> |
| 182 | + body: Build job of ${{github.repository}} completed successfully! |
0 commit comments