Feat: add new providers #378
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: E2E Test | |
on: | |
push: | |
branches: | |
- main | |
- release-* | |
tags: | |
- v* | |
workflow_dispatch: {} | |
pull_request: | |
branches: | |
- main | |
- release-* | |
env: | |
# Common versions | |
GO_VERSION: '1.22' | |
GOLANGCI_VERSION: 'v1.59' | |
K3D_IMAGE_VERSION: '[\"v1.26\"]' | |
K3D_IMAGE_VERSIONS: '[\"v1.26\"]' | |
jobs: | |
detect-noop: | |
runs-on: ubuntu-20.04 | |
outputs: | |
noop: ${{ steps.noop.outputs.should_skip }} | |
steps: | |
- name: Detect No-op Changes | |
id: noop | |
uses: fkirc/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
paths_ignore: '["**.md", "**.mdx", "**.png", "**.jpg"]' | |
do_not_skip: '["workflow_dispatch", "schedule", "push"]' | |
concurrent_skipping: false | |
set-k8s-matrix: | |
runs-on: ubuntu-22.04 | |
outputs: | |
matrix: ${{ steps.set-k8s-matrix.outputs.matrix }} | |
steps: | |
- id: set-k8s-matrix | |
run: | | |
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then | |
echo "pushing tag: ${{ github.ref_name }}" | |
echo "matrix=${{ env.K3D_IMAGE_VERSIONS }}" >> $GITHUB_OUTPUT | |
else | |
echo "matrix=${{ env.K3D_IMAGE_VERSION }}" >> $GITHUB_OUTPUT | |
fi | |
e2e-tests: | |
runs-on: ubuntu-22.04 | |
needs: [ detect-noop,set-k8s-matrix ] | |
if: needs.detect-noop.outputs.noop != 'true' | |
strategy: | |
matrix: | |
k8s-version: ${{ fromJson(needs.set-k8s-matrix.outputs.matrix) }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.k8s-version }} | |
cancel-in-progress: true | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v2 | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Get dependencies | |
run: | | |
go get -v -t -d ./... | |
- name: Tear down K3d if exist | |
run: | | |
k3d cluster delete || true | |
k3d cluster delete worker || true | |
- name: Calculate K3d args | |
run: | | |
EGRESS_ARG="" | |
if [[ "${{ matrix.k8s-version }}" == v1.26 ]]; then | |
EGRESS_ARG="--k3s-arg --egress-selector-mode=disabled@server:0" | |
fi | |
echo "EGRESS_ARG=${EGRESS_ARG}" >> $GITHUB_ENV | |
- name: Setup K3d | |
uses: nolar/[email protected] | |
with: | |
version: ${{ matrix.k8s-version }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
k3d-args: ${{ env.EGRESS_ARG }} | |
- name: Load image to k3d cluster | |
run: make image-load | |
- name: Prepare for e2e tests | |
run: | | |
make e2e-setup-controller-pre-hook | |
make e2e-setup-controller | |
- name: Run e2e tests | |
run: make e2e-test | |
- name: Stop controller, get profile | |
run: make end-e2e | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: /tmp/e2e-profile.out | |
flags: e2etests | |
name: codecov-umbrella | |
- name: Clean e2e profile | |
run: rm /tmp/e2e-profile.out |