diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index da219999..784d704e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,11 +5,12 @@ on: jobs: test: - name: run tests with code coverage + name: run tests runs-on: ubuntu-latest strategy: matrix: go: + - "1.21" - "1.20" - "1.19" - "1.18" @@ -24,12 +25,43 @@ jobs: uses: actions/setup-go@v3 with: go-version: ${{ matrix.go }} - + - run: go version - name: install lambda runtime interface emulator run: curl -L -o /usr/local/bin/aws-lambda-rie https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie-x86_64 - - run: chmod +x /usr/local/bin/aws-lambda-rie + - run: chmod +x /usr/local/bin/aws-lambda-rie + + - name: Check out code into the Go module directory + uses: actions/checkout@v3 + + - name: Edit the go.mod file to allow tests to run for versions of go before 1.16 + run: > + if [[ ${{ matrix.go }} < "1.16" ]]; then + sed -i.bak 's/^.*retract.*$//' go.mod + else + echo "no edit required" + fi + + - name: go test + run: go test -v -race ./... + + coverage: + name: run tests with coverage + runs-on: ubuntu-latest + strategy: + matrix: + go: + - "1.21" + steps: + - name: Set up Go ${{ matrix.go }} + uses: actions/setup-go@v3 + with: + go-version: ${{ matrix.go }} + + - name: install lambda runtime interface emulator + run: curl -L -o /usr/local/bin/aws-lambda-rie https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie-x86_64 + - run: chmod +x /usr/local/bin/aws-lambda-rie - name: Check out code into the Go module directory uses: actions/checkout@v3 diff --git a/go.mod b/go.mod index 456a8a6e..81f4d599 100644 --- a/go.mod +++ b/go.mod @@ -9,3 +9,5 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) + +retract v1.39.0