CI [Weekly] #8
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: CI [Weekly] | |
on: | |
schedule: | |
# The job will run at 9am UTC | |
# every week | |
- cron: '0 09 * * WED' | |
workflow_dispatch: { } | |
env: | |
GOLANGCI_VERSION: 'v1.53.3' | |
DOCKER_BUILDX_VERSION: 'v0.4.2' | |
jobs: | |
e2e-tests: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Setup QEMU | |
uses: docker/setup-qemu-action@v1 | |
with: | |
platforms: all | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
with: | |
version: ${{ env.DOCKER_BUILDX_VERSION }} | |
install: true | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Fetch History | |
run: git fetch --prune --unshallow | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version-file: 'go.mod' | |
- name: Find the Go Build Cache | |
id: go | |
run: echo "::set-output name=cache::$(make go.cachedir)" | |
- name: Cache the Go Build Cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.go.outputs.cache }} | |
key: ${{ runner.os }}-build-e2e-tests-${{ hashFiles('**/go.sum') }} | |
restore-keys: ${{ runner.os }}-build-e2e-tests- | |
- name: Cache Go Dependencies | |
uses: actions/cache@v2 | |
with: | |
path: .work/pkg | |
key: ${{ runner.os }}-pkg-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-pkg- | |
- name: Vendor Dependencies | |
run: make vendor vendor.check | |
- name: Build Helm Chart | |
run: make -j2 build VERSION=latest | |
env: | |
BUILD_ARGS: "--load" | |
# Use only if the VERSION is not latest | |
# - name: Docker Images Tag | |
# run: make docker.tag VERSION=latest | |
- name: Docker Images List | |
run: make docker.list | grep "crossplane-provider-ionoscloud" | |
- name: Run E2E Tests | |
# Temporarily skip the ALB tests in scheduled workflows, | |
# since it takes a lot of time (> 30 minutes) to create an ALB. | |
run: make e2e VERSION=latest USE_HELM3=true TEST_DBAAS=true TEST_K8S=true TEST_ALB=false TEST_BACKUP=true | |
env: | |
IONOS_USERNAME: ${{ secrets.IONOS_USERNAME }} | |
IONOS_PASSWORD: ${{ secrets.IONOS_PASSWORD }} |