Merge pull request #370 from adamcstephens/alpine/tests #368
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
types: [opened, reopened, synchronize, converted_to_draft, ready_for_review] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
name: Test | |
jobs: | |
acceptance-tests: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: | |
- "1.21" | |
channel: | |
- latest/stable | |
- latest/candidate | |
env: | |
TF_ACC: "1" | |
GO111MODULE: "on" | |
LXD_REMOTE: local | |
LXD_ADDR: localhost | |
LXD_PORT: 8443 | |
LXD_GENERATE_CLIENT_CERTS: "true" | |
LXD_ACCEPT_SERVER_CERTIFICATE: "true" | |
LXD_SCHEME: https | |
LXD_PASSWORD: the-password | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Setup LXD from ${{ matrix.channel }} channel | |
run: | | |
sudo snap refresh lxd --channel=${{ matrix.channel }} | |
sudo lxd waitready --timeout 60 | |
sudo lxd init --auto --trust-password="$LXD_PASSWORD" --network-port=8443 --network-address='[::]' | |
sudo chmod 777 /var/snap/lxd/common/lxd/unix.socket | |
- name: Configure OVN | |
run: | | |
sudo apt-get install --no-install-recommends --yes \ | |
ovn-host \ | |
ovn-central \ | |
bind9-dnsutils \ | |
jq | |
sudo ovs-vsctl set open_vswitch . \ | |
external_ids:ovn-remote=unix:/var/run/ovn/ovnsb_db.sock \ | |
external_ids:ovn-encap-type=geneve \ | |
external_ids:ovn-encap-ip=127.0.0.1 | |
- name: Install dependencies | |
run: | | |
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin | |
- uses: hashicorp/setup-terraform@v2 | |
with: | |
terraform_wrapper: false | |
- run: make test | |
build-platforms: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: | |
- "1.21" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Run GoReleaser in build mode to test all release platforms | |
uses: goreleaser/goreleaser-action@v4 | |
with: | |
version: latest | |
args: build --snapshot | |
check-lint: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: | |
- "1.21" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- run: make fmtcheck | |
- run: make vet | |
- run: make static-analysis |