blob: dc7969bf0df3e02f3db5a0811ba7c35e226aca84 [file] [log] [blame]
# 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"