Skip to content

ci: test/build also for Go 1.20 and Go 1.21 #9

ci: test/build also for Go 1.20 and Go 1.21

ci: test/build also for Go 1.20 and Go 1.21 #9

Workflow file for this run

name: building
on:
push:
branches: ['develop']
pull_request:
branches: ['develop']
jobs:
build:
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
go: [
'1.18',
'1.19',
'1.20',
'1.21',
]
include:
# Set the minimum Go patch version for the given Go minor
- go: '1.18'
GO_VERSION: '~1.18.0'
- go: '1.19'
GO_VERSION: '~1.19.0'
- go: '1.20'
GO_VERSION: '~1.20.0'
- go: '1.21'
GO_VERSION: '~1.21.0'
runs-on: ${{ matrix.os }}
steps:
- name: Set up Go ${{ matrix.go }}
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.GO_VERSION }}
check-latest: true
- name: Print environment
id: vars
run: |
printf "Using Go at $(which go) (version $(go version))\n"
printf "\n\nGo environment:\n\n"
go env
printf "\n\nSystem environment:\n\n"
env
- name: Check out the source code
uses: actions/checkout@v3
- name: Restore the Go modules cache
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('go.mod') }}
restore-keys: |
go-${{ runner.os }}-${{ matrix.go }}
- name: Install Ragel 6.10
run: sudo apt-get install -y ragel
- name: Build the parser
run: make
- name: Ensure the parser code is updated
run: git diff --exit-code