-
Notifications
You must be signed in to change notification settings - Fork 12
100 lines (98 loc) · 3.34 KB
/
image.yml
File metadata and controls
100 lines (98 loc) · 3.34 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
name: Build OpenServerless Operator
on:
push:
tags:
- '[0-9]*'
branches-ignore:
- '*'
jobs:
image:
name: Build OpenServerless Operator Image
runs-on: ubuntu-22.04
steps:
- name: Remove unnecessary files
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: License
uses: apache/skywalking-eyes@main
- name: Assign TAG from pull request
if: ${{ github.event_name == 'pull_request' }}
run: |
echo "IMG_TAG=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV"
- name: Assign TAG from push
if: ${{ github.event_name != 'pull_request' }}
run: |
echo "IMG_TAG=$(git describe --tags --abbrev=0)" >> "$GITHUB_ENV"
- name: Assign Custom Image Name
if: ${{ github.repository_owner != 'apache'}}
run: |
echo "MY_OPERATOR_IMAGE=${{ vars.MY_OPERATOR_IMAGE }}" >> "$GITHUB_ENV"
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: 3.12
- name: Setup
run: bash .github/cisetup.sh
- name: Kind
uses: container-tools/kind-action@v2.0.4
with:
version: v0.22.0
cluster_name: nuvolaris
config: .github/kind.yaml
- name: Install
run: poetry install
- name: BuildAndLoad
run: task build-and-load TAG="$IMG_TAG"
- name: Ngrok
if: ${{ env.NGROK == 'on' }}
run: bash .github/debug-github-actions.sh
env:
NGROK_TOKEN: ${{ secrets.NGROK_TOKEN }}
USER_PASS: ${{ secrets.USER_PASS }}
- name: Wait
if: ${{ env.NGROK == 'on' }}
run: bash .github/wait.sh
- name: AddIngress
run: task kind:ingress
- name: Unit Test
run: task utest
continue-on-error: false
#- name: Integration Test
# run: task itest
# continue-on-error: false
- name: Registry login
uses: docker/login-action@v3
with:
registry: registry.hub.docker.com
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:qemu-v7.0.0-28
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Image
run: task buildx-and-push TAG="$IMG_TAG"