Skip to content

Bump the github-actions group with 4 updates #4918

Bump the github-actions group with 4 updates

Bump the github-actions group with 4 updates #4918

Workflow file for this run

---
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']
cabledriver: ['libreswan']
# Run most tests against the latest K8s version
k8s_version: ['1.29']
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
# Bottom of supported K8s version range
k8s_version: '1.26'
steps:
- name: Check out the ${{ matrix.project }} repository
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
with:
# This is replaced to stable branch by auto release process
ref: release-0.17
repository: submariner-io/${{ matrix.project }}
# Check out Shipyard as a sub directory of the project, so that `go replace` can work.
# As it's all run inside an ephemeral container, this way guarantees the Shipyard bits will be readily available for `go replace`.
- name: Check out the Shipyard repository
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
with:
path: shipyard
- name: Build the latest Shipyard images
run: make -C shipyard images
- name: Copy Shipyard resources
run: cp -n shipyard/{Dockerfile.*,Makefile.dapper,Makefile.shipyard,.dapper} .
- name: Make sure ${{ matrix.project }} is using the built Shipyard image
run: sed -i 's/shipyard-dapper-base:*.*/shipyard-dapper-base:dev/' Dockerfile.dapper
- name: Make sure ${{ matrix.project }} is using the Shipyard go module
run: make go-replace REPLACE=github.com/submariner-io/shipyard=./shipyard
- name: Run E2E deployment and tests
uses: ./shipyard/gh-actions/e2e
with:
k8s_version: ${{ matrix.k8s_version }}
using: ${{ matrix.cabledriver }}
- name: Post mortem
if: failure()
uses: ./shipyard/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@d632683dd7b4114ad314bca15554477dd762a938
- name: Build the latest Shipyard image
run: make images
- name: Check out the ${{ matrix.project }} repository
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
with:
# This is replaced to stable branch by auto release process
ref: release-0.17
repository: submariner-io/${{ matrix.project }}
path: ${{ matrix.project }}
- name: Copy Shipyard resources
run: cp -n Dockerfile.* Makefile.dapper Makefile.shipyard .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@d632683dd7b4114ad314bca15554477dd762a938
- name: Build the latest Shipyard image
run: make images
- name: Check out the ${{ matrix.project }} repository
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
with:
# This is replaced to stable branch by auto release process
ref: release-0.17
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