Backport the Fedora-based nettest image to 0.15 #5068
Workflow file for this run
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: Consuming Projects | |
on: | |
pull_request: | |
types: [labeled, opened, synchronize, reopened] | |
permissions: {} | |
jobs: | |
e2e: | |
name: E2E Consuming | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
if: | | |
( github.event.action == 'labeled' && github.event.label.name == 'e2e-projects' ) | |
|| ( github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'e2e-projects') ) | |
strategy: | |
fail-fast: false | |
matrix: | |
project: ['admiral', 'lighthouse', 'subctl', 'submariner', 'submariner-operator'] | |
deploytool: ['operator', 'helm'] | |
cabledriver: ['libreswan'] | |
k8s_version: ['1.25'] | |
exclude: | |
# Admiral E2E doesn't respect deploy-tool params, as it uses clusters without Submariner | |
- project: admiral | |
deploytool: helm | |
# Operator and Helm are mutually exclusive, don't try to use Helm in Operator repo | |
- project: submariner-operator | |
deploytool: helm | |
include: | |
# Test the same set of cable driver combinations as the consuming projects do in their CI | |
- project: submariner | |
cabledriver: wireguard | |
# Test multiple K8s versions only in submariner-operator, balancing coverage and jobs | |
- project: submariner-operator | |
k8s_version: '1.22' | |
- project: submariner-operator | |
k8s_version: '1.23' | |
- project: submariner-operator | |
k8s_version: '1.24' | |
steps: | |
- name: Check out the Shipyard repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
- name: Build the latest Shipyard image | |
run: make images | |
- name: Check out the ${{ matrix.project }} repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
with: | |
# This is replaced to stable branch by auto release process | |
ref: release-0.15 | |
repository: submariner-io/${{ matrix.project }} | |
path: ${{ matrix.project }} | |
- name: Copy Shipyard resources | |
run: cp -n Dockerfile.* Makefile.dapper .dapper ${{ matrix.project }}/ | |
- name: Make sure ${{ matrix.project }} is using the built Shipyard image | |
run: sed -i 's/shipyard-dapper-base:*.*/shipyard-dapper-base:dev/' ${{ matrix.project }}/Dockerfile.dapper | |
- name: Run E2E deployment and tests | |
uses: ./gh-actions/e2e | |
with: | |
k8s_version: ${{ matrix.k8s_version }} | |
using: ${{ matrix.cabledriver }} ${{ matrix.deploytool }} | |
working-directory: ./${{ matrix.project }} | |
- name: Post mortem | |
if: failure() | |
uses: ./gh-actions/post-mortem | |
lint-consuming: | |
name: Lint | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
if: | | |
( github.event.action == 'labeled' && github.event.label.name == 'lint-projects' ) | |
|| ( github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'lint-projects') ) | |
strategy: | |
fail-fast: false | |
matrix: | |
project: [ | |
'admiral', 'cloud-prepare', 'lighthouse', | |
'subctl', 'submariner', 'submariner-charts', 'submariner-operator' | |
] | |
steps: | |
- name: Check out the Shipyard repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
- name: Build the latest Shipyard image | |
run: make images | |
- name: Check out the ${{ matrix.project }} repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
with: | |
# This is replaced to stable branch by auto release process | |
ref: release-0.15 | |
repository: submariner-io/${{ matrix.project }} | |
path: ${{ matrix.project }} | |
- name: Copy Shipyard resources | |
run: cp -n Dockerfile.* Makefile.dapper .dapper ${{ matrix.project }}/ | |
- name: Make sure ${{ matrix.project }} is using the built Shipyard image | |
run: sed -i 's/shipyard-dapper-base:*.*/shipyard-dapper-base:dev/' ${{ matrix.project }}/Dockerfile.dapper | |
- name: Run golangci-lint | |
if: always() | |
run: make -C ${{ matrix.project }} golangci-lint | |
- name: Run markdownlint | |
if: always() | |
run: make -C ${{ matrix.project }} markdownlint | |
- name: Run packagedoc-lint | |
if: always() | |
run: make -C ${{ matrix.project }} packagedoc-lint | |
- name: Run shellcheck | |
if: always() | |
run: make -C ${{ matrix.project }} shellcheck | |
- name: Run yamllint | |
if: always() | |
run: make -C ${{ matrix.project }} yamllint | |
unit-consuming: | |
name: Unit Tests | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
if: | | |
( github.event.action == 'labeled' && github.event.label.name == 'unit-projects' ) | |
|| ( github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'unit-projects') ) | |
strategy: | |
fail-fast: false | |
matrix: | |
project: [ | |
'admiral', 'cloud-prepare', 'lighthouse', | |
'subctl', 'submariner', 'submariner-charts', 'submariner-operator' | |
] | |
steps: | |
- name: Check out the Shipyard repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
- name: Build the latest Shipyard image | |
run: make images | |
- name: Check out the ${{ matrix.project }} repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
with: | |
# This is replaced to stable branch by auto release process | |
ref: release-0.15 | |
repository: submariner-io/${{ matrix.project }} | |
path: ${{ matrix.project }} | |
- name: Copy Shipyard resources | |
run: cp -n Dockerfile.* Makefile.dapper .dapper ${{ matrix.project }}/ | |
- name: Make sure ${{ matrix.project }} is using the built Shipyard image | |
run: sed -i 's/shipyard-dapper-base:*.*/shipyard-dapper-base:dev/' ${{ matrix.project }}/Dockerfile.dapper | |
- name: Run all unit tests | |
run: make -C ${{ matrix.project }} unit |