Skip to content

Commit

Permalink
Merge pull request #620 from dtantsur/irso-ci
Browse files Browse the repository at this point in the history
🌱 Run the IrSO functional job on ironic-images changes
  • Loading branch information
metal3-io-bot authored Feb 10, 2025
2 parents 1f44fb7 + e0b6f0b commit 2d743b0
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/irso-functional.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: IrSO Functional Tests

on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]

jobs:
test:
runs-on: ubuntu-latest
env:
LOGDIR: /tmp/logs
steps:
- name: Update repositories
run: sudo apt-get update
- name: Install podman
run: sudo apt-get install -y podman
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: ironic-image
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: metal3-io/ironic-standalone-operator
path: ironic-standalone-operator
- name: Calculate go version
id: vars
run: echo "go_version=$(make -sC ironic-standalone-operator go-version)" >> $GITHUB_OUTPUT
- name: Set up Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ steps.vars.outputs.go_version }}
- name: Create a Kind cluster
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
with:
cluster_name: kind
config: ironic-standalone-operator/test/kind.yaml
- name: Prepare tests
run: cd ironic-standalone-operator && ./test/prepare.sh
- name: Run tests
run: ironic-image/hack/ci-e2e.sh
env:
IRSO_PATH: "${{ github.workspace }}/ironic-standalone-operator"
- name: Collect logs
run: ironic-standalone-operator/test/collect-logs.sh
if: always()
- name: Upload logs artifacts
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: functional
path: /tmp/logs/*
if: always()
28 changes: 28 additions & 0 deletions hack/ci-e2e.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

set -eux -o pipefail

REPO_ROOT=$(realpath "$(dirname "${BASH_SOURCE[0]}")/..")
cd "${REPO_ROOT}" || exit 1

IRSO_REPO="${IRSO_REPO:-https://github.com/metal3-io/ironic-standalone-operator}"
IRSO_BRANCH="${IRSO_BRANCH:-main}"
if [[ -z "${IRSO_PATH:-}" ]]; then
IRSO_PATH="$(mktemp -td irso-XXXXXXXX)"
git clone "${IRSO_REPO}" -b "${IRSO_BRANCH}" "${IRSO_PATH}"
fi
export IRONIC_CUSTOM_IMAGE=localhost/ironic:test

podman build -t "${IRONIC_CUSTOM_IMAGE}" .

archive="$(mktemp --suffix=.tar)"
podman save "${IRONIC_CUSTOM_IMAGE}" > "${archive}"
kind load image-archive -v 2 "${archive}"
rm -f "${archive}"

cd "${IRSO_PATH}/test"
# shellcheck disable=SC1091
. testing.env
export IRONIC_CUSTOM_VERSION=latest

exec go test -timeout 60m

0 comments on commit 2d743b0

Please sign in to comment.