forked from eclipse-iofog/Controller
-
Notifications
You must be signed in to change notification settings - Fork 0
80 lines (70 loc) · 2.6 KB
/
ci.yaml
File metadata and controls
80 lines (70 loc) · 2.6 KB
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
name: CI
on:
pull_request:
paths-ignore:
- README.md
- CHANGELOG.md
- LICENSE
push:
branches:
- main
- develop
paths-ignore:
- README.md
- CHANGELOG.md
- LICENSE
env:
IMAGE_NAME: controller
jobs:
quality:
uses: ./.github/workflows/quality.yml
docker:
name: Docker build
needs: quality
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Package version
id: package-version
uses: martinbeentjes/npm-get-version-action@3cf273023a0dda27efcd3164bdfb51908dd46a5b # v1.3.1
- name: Set build versions
id: version
shell: bash
run: |
PKG="${{ steps.package-version.outputs.current-version }}"
echo "pkg_version=${PKG}-${{ github.run_number }}" >> "${GITHUB_OUTPUT}"
echo "image_tag=${PKG}-${{ github.run_number }}" >> "${GITHUB_OUTPUT}"
- uses: ./.github/actions/set-build-env
env:
EDGEOPS_CONSOLE_VERSION: ${{ vars.EDGEOPS_CONSOLE_VERSION }}
EDGEOPS_CONSOLE_REPO: ${{ vars.EDGEOPS_CONSOLE_REPO }}
EDGEOPS_CONSOLE_FLAVOR: ${{ vars.EDGEOPS_CONSOLE_FLAVOR }}
IMAGE_REGISTRY: ${{ vars.IMAGE_REGISTRY }}
OCI_SOURCE_REPO: ${{ vars.OCI_SOURCE_REPO }}
CONTROLLER_DISTRIBUTION: ${{ vars.CONTROLLER_DISTRIBUTION }}
RBAC_API_VERSION: ${{ vars.RBAC_API_VERSION }}
- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
- name: Build image
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
file: Dockerfile
platforms: linux/amd64,linux/arm64
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:ci
build-args: |
PKG_VERSION=${{ steps.version.outputs.pkg_version }}
EDGEOPS_CONSOLE_REPO=${{ env.EDGEOPS_CONSOLE_REPO }}
EDGEOPS_CONSOLE_VERSION=${{ env.EDGEOPS_CONSOLE_VERSION }}
EDGEOPS_CONSOLE_FLAVOR=${{ env.EDGEOPS_CONSOLE_FLAVOR }}
IMAGE_REGISTRY=${{ env.IMAGE_REGISTRY }}
OCI_SOURCE_REPO=${{ env.OCI_SOURCE_REPO }}
CONTROLLER_DISTRIBUTION=${{ env.CONTROLLER_DISTRIBUTION }}
RBAC_API_VERSION=${{ env.RBAC_API_VERSION }}