Skip to content

Commit

Permalink
Run docker tests in E2E GH Action
Browse files Browse the repository at this point in the history
Build image with new input option
Run most of the basic docker tests in E2E
Signed-off-by: Derek Nola <derek.nola@suse.com>
  • Loading branch information
dereknola committed Mar 7, 2024
1 parent b81f3b2 commit e6d59c3
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 21 deletions.
10 changes: 10 additions & 0 deletions .github/workflows/build-k3s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ on:
type: boolean
required: false
default: false
upload-image:
type: boolean
required: false
default: false

permissions:
contents: read
Expand All @@ -23,6 +27,9 @@ jobs:
run: |
DOCKER_BUILDKIT=1 SKIP_IMAGE=1 SKIP_AIRGAP=1 SKIP_VALIDATE=1 GOCOVER=1 make
sha256sum dist/artifacts/k3s | sed 's|dist/artifacts/||' > dist/artifacts/k3s.sha256sum
- name: Build K3s image
if: inputs.upload-image == true
run: make package-image
- name: bundle repo
if: inputs.upload-repo == true
run: |
Expand All @@ -34,6 +41,9 @@ jobs:
with:
name: k3s-repo.tar.gz
path: k3s-repo.tar.gz
- name: "Save K3s image"
if: inputs.upload-image == true
run: docker image save rancher/k3s -o ./dist/artifacts/k3s-image.tar
- name: "Upload K3s binary"
if: inputs.upload-repo == false
uses: actions/upload-artifact@v4
Expand Down
37 changes: 33 additions & 4 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@ permissions:
jobs:
build:
uses: ./.github/workflows/build-k3s.yaml
test:
name: "E2E Test"
with:
upload-image: true
e2e:
name: "E2E Tests"
needs: build
runs-on: ubuntu-latest
timeout-minutes: 40
Expand Down Expand Up @@ -64,7 +66,7 @@ jobs:
name: k3s
path: ./dist/artifacts

- name: Run E2E Tests
- name: Run ${{ matrix.etest }} Test
env:
E2E_GOCOVER: "true"
run: |
Expand All @@ -83,4 +85,31 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
files: tests/e2e/${{ matrix.etest }}/coverage.out
flags: e2etests # optional
verbose: true # optional (default = false)
verbose: true # optional (default = false)
docker:
needs: build
name: Docker Tests
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
dtest: [basics, bootstraptoken, cacerts, lazypull, upgrade]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: "Download k3s image"
uses: actions/download-artifact@v4
with:
name: k3s
path: ./dist/artifacts
- name: Load k3s image
run: docker image load -i ./dist/artifacts/k3s-image.tar
- name: Run ${{ matrix.dtest }} Test
run: |
chmod +x ./dist/artifacts/k3s
. ./tests/docker/test-helpers
. ./tests/docker/test-run-${{ matrix.dtest }}
echo "Did test-run-${{ matrix.dtest }} pass $?"
6 changes: 3 additions & 3 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ env:
jobs:
build:
uses: ./.github/workflows/build-k3s.yaml
test:
itest:
needs: build
name: Integration Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
timeout-minutes: 45
strategy:
fail-fast: false
Expand Down Expand Up @@ -71,4 +71,4 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./${{ matrix.itest }}.out
flags: inttests # optional
verbose: true # optional (default = false)
verbose: true # optional (default = false)
31 changes: 17 additions & 14 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,34 @@ mkdir -p $artifacts
docker ps

# ---
# Only run basic tests on non amd64 archs, we use GitHub Actions for amd64
if [ "$ARCH" != 'amd64' ]; then

. ./tests/docker/test-run-basics
echo "Did test-run-basics $?"
. ./tests/docker/test-run-basics
echo "Did test-run-basics $?"

. ./tests/docker/test-run-cacerts
echo "Did test-run-cacerts $?"

. ./tests/docker/test-run-bootstraptoken
echo "Did test-run-bootstraptoken $?"

. ./tests/docker/test-run-upgrade
echo "Did test-run-upgrade $?"

. ./tests/docker/test-run-lazypull
echo "Did test-run-lazypull $?"
fi

. ./tests/docker/test-run-compat
echo "Did test-run-compat $?"

. ./tests/docker/test-run-hardened
echo "Did test-run-hardened $?"

. ./tests/docker/test-run-cacerts
echo "Did test-run-cacerts $?"

. ./tests/docker/test-run-bootstraptoken
echo "Did test-run-bootstraptoken $?"

. ./tests/docker/test-run-upgrade
echo "Did test-run-upgrade $?"

. ./tests/docker/test-run-etcd
echo "Did test-run-etcd $?"

. ./tests/docker/test-run-lazypull
echo "Did test-run-lazypull $?"

# ---

[ "$ARCH" != 'amd64' ] && \
Expand Down

0 comments on commit e6d59c3

Please sign in to comment.