Skip to content

Makefile: introduce tasks to aid testing; update CI #518

Makefile: introduce tasks to aid testing; update CI

Makefile: introduce tasks to aid testing; update CI #518

name: Integration Tests
on:
push:
branches:
- main
pull_request:
jobs:
integration-tests:
runs-on: ubuntu-latest
strategy:
matrix:
include:
# Newest supported configuration
- go-version: "1.23" # pairs with TinyGo 0.33.0+
tinygo-version: "0.35.0"
tinygo-wasi-target: "wasip1"
- go-version: "1.22" # pairs with TinyGo 0.31.2
tinygo-version: "0.31.2"
tinygo-wasi-target: "wasi"
# Oldest supported configuration
- go-version: "1.21" # pairs with TinyGo 0.29.0
tinygo-version: "0.29.0"
tinygo-wasi-target: "wasi"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- uses: ./.github/actions/install-tinygo
with:
tinygo-version: ${{ matrix.tinygo-version }}
- name: Setup Fastly CLI
uses: fastly/compute-actions/setup@v7
- name: Install Viceroy
run: make tools/viceroy
- name: Print dependency versions
run: |
go version
tinygo version
fastly version
viceroy --version
- name: Tests - Go
run: make test-go
- name: Integration Tests - Go
run: make test-integration-go
- name: Tests - TinyGo
# The slightly different TINYGO_TARGET and GO_BUILD_FLAGS for older
# versions of TinyGo can be removed once all versions are consistent.
run: make test-tinygo TINYGO_TARGET=./targets/fastly-compute-${{ matrix.tinygo-wasi-target }}.json GO_BUILD_FLAGS="-tags='fastlyinternaldebug nofastlyhostcalls'"
- name: Integration Tests - TinyGo
# The slightly different TINYGO_TARGET for older versions of TinyGo can
# be removed once all versions are consistent.
run: make test-integration-tinygo TINYGO_TARGET=./targets/fastly-compute-${{ matrix.tinygo-wasi-target }}.json