Skip to content

Reduce maintenance burden by letting setup-go track our Go versions #442

Reduce maintenance burden by letting setup-go track our Go versions

Reduce maintenance burden by letting setup-go track our Go versions #442

name: Render and Lint Documentation
on:
pull_request:
branches_ignore: []
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
# current Go releases plus the version in the go.mod are tested
go: ['go.mod', 'oldstable', 'stable']
# https://github.com/actions/setup-go/tree/v5#getting-go-version-from-the-gomod-file
# https://github.com/actions/setup-go/tree/v5#using-stableoldstable-aliases
env:
RELEASE_GO_VER: "1.23"
name: Documentation and Linting
steps:
- uses: actions/checkout@v4
with:
path: go/src/github.com/opencontainers/image-spec
- uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go != 'go.mod' && matrix.go || null }}
go-version-file: ${{ matrix.go == 'go.mod' && 'go/src/github.com/opencontainers/image-spec/go.mod' || null }}
cache-dependency-path: go/src/github.com/opencontainers/image-spec/go.sum
- name: Render and Lint
env:
GOPATH: /home/runner/work/image-spec/image-spec/go
# do not automatically upgrade go to a different version: https://go.dev/doc/toolchain
GOTOOLCHAIN: local
run: |
export PATH=$GOPATH/bin:$PATH
cd go/src/github.com/opencontainers/image-spec
make install.tools
go get -t -d ./...
ls ../
make
make .gitvalidation
make lint
make check-license
make test
make docs
- name: documentation artifacts
uses: actions/upload-artifact@v4
if: matrix.go == env.RELEASE_GO_VER
with:
name: oci-docs
path: go/src/github.com/opencontainers/image-spec/output