diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index c191eee963d27704ad9403cbd0ddea128481b056..1901739c277c78f051455ad3ee4db66200352bea 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -19,7 +19,7 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-go@v2
         with:
-          go-version: '1.20'
+          go-version: '1.21'
       - uses: golangci/golangci-lint-action@v3.4.0
         with:
           version: v1.52.2
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 4d6052be91e19122d66369ec6f0b862e3dcd6519..9a8b0acf2c7f577a57641bfb433158264a7e93b6 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -24,7 +24,7 @@ jobs:
     steps:
     - uses: actions/setup-go@v2
       with:
-        go-version: '1.20'
+        go-version: '1.21'
 
     - uses: actions/checkout@v2
 
@@ -43,8 +43,8 @@ jobs:
     strategy:
       matrix:
         go_version:
+        - '1.20'
         - '1.19'
-        - '1.18'
 
     steps:
     - uses: actions/setup-go@v2
diff --git a/Dockerfile b/Dockerfile
index 967986ea882060ae3efaaebc278457e56f558c7c..141a049233ed798b91e6046d4dbce46d3332a161 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
 # syntax = docker/dockerfile:1.3
-FROM golang:1.20 AS build
+FROM golang:1.21 AS build
 
 WORKDIR /go/src/github.com/mccutchen/go-httpbin