Skip to content

Introduce E2E testing #17

Introduce E2E testing

Introduce E2E testing #17

Workflow file for this run

name: E2E tests
on:
pull_request:
permissions:
contents: read
jobs:
# linux-amd64:
# name: Linux amd64
# runs-on: ubuntu-latest
# timeout-minutes: 10
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
# with:
# egress-policy: block
# allowed-endpoints: >
# github.com:443
# api.github.com:443
# objects.githubusercontent.com:443
# ppa.launchpadcontent.net:443
# azure.archive.ubuntu.com:80
# motd.ubuntu.com:443
# esm.ubuntu.com:443
# security.ubuntu.com:80
# proxy.golang.org:443
# hn.algolia.com:443
# lemmy.world:443
# lobste.rs:443
# www.reddit.com:443
# - name: Checkout repository
# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
# - name: Setup seccomp
# uses: awalsh128/cache-apt-pkgs-action@44c33b32f808cdddd5ac0366d70595ed63661ed8 # v1.3.1
# with:
# packages: libseccomp-dev
# - name: Setup Go
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
# with:
# go-version: 'stable'
# - name: Install dependencies
# run: make
# - name: Build executable
# run: make build
# - run: make e2e
# linux-arm:
# name: Linux ARMv7
# runs-on: ubuntu-latest
# timeout-minutes: 10
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
# with:
# egress-policy: block
# allowed-endpoints: >
# github.com:443
# api.github.com:443
# objects.githubusercontent.com:443
# proxy.golang.org:443
# ppa.launchpadcontent.net:443
# packages.microsoft.com:443
# azure.archive.ubuntu.com:80
# motd.ubuntu.com:443
# esm.ubuntu.com:443
# downloads.raspberrypi.org:443
# hn.algolia.com:443
# lemmy.world:443
# lobste.rs:443
# www.reddit.com:443
# - name: Checkout repository
# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
# - name: Setup Go
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
# with:
# go-version: 'stable'
# - name: Install dependencies
# run: make
# - name: Build executable
# run: GOOS=linux GOARCH=arm GOARM=7 make unsafe
# - name: Run E2E tests inside VM
# uses: pguyot/arm-runner-action@e04ca3becb581a2b52cabe31e53835ada344522f # v2.5.2
# with:
# cpu: cortex-a7
# cpu_info: cpuinfo/raspberrypi_3b
# base_image: raspios_lite:latest
# commands: |
# make e2e
# linux-arm64:
# name: Linux ARM64
# runs-on: ubuntu-latest
# timeout-minutes: 10
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
# with:
# egress-policy: block
# allowed-endpoints: >
# github.com:443
# api.github.com:443
# objects.githubusercontent.com:443
# proxy.golang.org:443
# ppa.launchpadcontent.net:443
# packages.microsoft.com:443
# azure.archive.ubuntu.com:80
# motd.ubuntu.com:443
# esm.ubuntu.com:443
# downloads.raspberrypi.org:443
# hn.algolia.com:443
# lemmy.world:443
# lobste.rs:443
# www.reddit.com:443
# - name: Checkout repository
# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
# - name: Setup Go
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
# with:
# go-version: 'stable'
# - name: Install dependencies
# run: make
# - name: Build executable
# run: GOOS=linux GOARCH=arm64 make unsafe
# - name: Run E2E tests inside VM
# uses: pguyot/arm-runner-action@e04ca3becb581a2b52cabe31e53835ada344522f # v2.5.2
# with:
# cpu: cortex-a53
# cpu_info: cpuinfo/raspberrypi_zero2_w_arm64
# base_image: raspios_lite_arm64:latest
# commands: |
# make e2e
# windows:
# name: Windows amd64
# runs-on: windows-latest
# timeout-minutes: 10
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
# with:
# egress-policy: audit
# - name: Checkout repository
# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
# - name: Setup Go
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
# with:
# go-version: 'stable'
# - name: Install dependencies
# run: make
# - name: Build executable
# run: make unsafe
# - run: make e2e
freebsd:
name: FreeBSD amd64
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
# FIXME: See: vmactions/freebsd-vm/issues/75
- name: Harden Runner
uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Setup Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: 'stable'
- name: Install dependencies
run: make
- name: Build executable for FreeBSD amd64
run: GOOS=freebsd GOARCH=amd64 make unsafe
- name: Run E2E tests inside VM
uses: vmactions/freebsd-vm@c4f95415f6b8fdafedd9faa9f14412d0ad5f567b # v1.0.4
with:
usesh: true
run: |
set -e -x
make e2e
# openbsd:
# name: OpenBSD amd64
# runs-on: ubuntu-latest
# timeout-minutes: 10
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
# with:
# egress-policy: block
# allowed-endpoints: >
# github.com:443
# api.github.com:443
# proxy.golang.org:443
# pool.ntp.org:443
# cdn.openbsd.org:443
# www.google.com:443
# raw.githubusercontent.com:443
# objects.githubusercontent.com:443
# time.cloudflare.com:443
# ppa.launchpadcontent.net:443
# packages.microsoft.com:443
# azure.archive.ubuntu.com:80
# motd.ubuntu.com:443
# esm.ubuntu.com:443
# pypi.org:443
# files.pythonhosted.org:443
# hn.algolia.com:443
# lemmy.world:443
# lobste.rs:443
# www.reddit.com:443
# - name: Checkout repository
# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
# - name: Setup Go
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
# with:
# go-version: 'stable'
# - name: Install dependencies
# run: make
# - name: Build executable for OpenBSD amd64
# run: GOOS=openbsd GOARCH=amd64 make build
# - name: Run E2E tests inside VM
# uses: vmactions/openbsd-vm@c69c6aa05e19f11533a5d00913e398606bd66133 # v1.0.4
# with:
# run: |
# make e2e