Skip to content

avoid updating directly cached resource template for clean up policy #129

avoid updating directly cached resource template for clean up policy

avoid updating directly cached resource template for clean up policy #129

Workflow file for this run

name: CI Workflow
on:
# Run this workflow every time a new commit pushed to upstream/fork repository.
# Run workflow on fork repository will help contributors find and resolve issues before sending a PR.
push:
pull_request:
jobs:
golangci:
name: lint
runs-on: ubuntu-22.04
steps:
- name: checkout code
uses: actions/checkout@v3
- name: install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- name: vendor
run: hack/verify-vendor.sh
- name: lint
run: hack/verify-staticcheck.sh
- name: import alias
run: hack/verify-import-aliases.sh
codegen:
name: codegen
runs-on: ubuntu-22.04
env:
GOPATH: ${{ github.workspace }}
defaults:
run:
working-directory: ${{ env.GOPATH }}/src/github.com/karmada-io/karmada
steps:
- name: checkout code
uses: actions/checkout@v3
with:
path: ${{ env.GOPATH }}/src/github.com/karmada-io/karmada
- name: install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- name: Install Protoc
# TODO(@RainbowMango): Update the action version to adopt Node16
# track issue: https://github.com/arduino/setup-protoc/issues/59
uses: arduino/setup-protoc@v1
with:
version: '3.x'
# Use the automatic token, so that this task can be run in the forked repo.
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: verify codegen
run: hack/verify-codegen.sh
- name: verify crdgen
run: hack/verify-crdgen.sh
- name: verify protobuf
run: hack/verify-estimator-protobuf.sh
- name: verify swagger docs
run: hack/verify-swagger-docs.sh
- name: verify lifted docs
run: hack/verify-lifted.sh
build:
name: compile
needs: codegen # rely on codegen successful completion
runs-on: ubuntu-22.04
steps:
- name: checkout code
uses: actions/checkout@v3
with:
# Number of commits to fetch. 0 indicates all history for all branches and tags.
# We need to guess version via git tags.
fetch-depth: 0
- name: install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- name: compile
run: make all
test:
name: unit test
needs: build
runs-on: ubuntu-22.04
steps:
- name: checkout code
uses: actions/checkout@v3
- name: install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- name: make test
run: make test
- name: Upload coverage to Codecov
# Prevent running from the forked repository that doesn't need to upload coverage.
# In addition, running on the forked repository would fail as missing the necessary secret.
if: ${{ github.repository == 'karmada-io/karmada' }}
uses: codecov/codecov-action@v3
with:
# Even though token upload token is not required for public repos,
# but adding a token might increase successful uploads as per:
# https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954
token: ${{secrets.CODECOV_UPLOAD_TOKEN}}
files: ./_output/coverage/coverage_pkg.txt,./_output/coverage/coverage_cmd.txt,./_output/coverage/coverage_examples.txt
flags: unittests
fail_ci_if_error: true
verbose: true
e2e:
name: e2e test
needs: build
runs-on: ubuntu-22.04
strategy:
matrix:
k8s: [ v1.21.10, v1.22.7, v1.23.4, v1.24.2, v1.25.0, v1.26.0 ]
steps:
- name: checkout code
uses: actions/checkout@v3
with:
# Number of commits to fetch. 0 indicates all history for all branches and tags.
# We need to guess version via git tags.
fetch-depth: 0
- name: install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- name: setup e2e test environment
run: |
export CLUSTER_VERSION=kindest/node:${{ matrix.k8s }}
hack/local-up-karmada.sh
- name: run e2e
run: |
export ARTIFACTS_PATH=${{ github.workspace }}/karmada-e2e-logs/${{ matrix.k8s }}/
hack/run-e2e.sh
- name: upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: karmada_e2e_log_${{ matrix.k8s }}
path: ${{ github.workspace }}/karmada-e2e-logs/${{ matrix.k8s }}/