diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
new file mode 100644
index 0000000..b5029e7
--- /dev/null
+++ b/.github/workflows/go.yml
@@ -0,0 +1,30 @@
+# Action workflow for go server
+
+name: go-apiv1-test
+
+on:
+  push:
+    branches: [ "main" ]
+  pull_request:
+    branches: [ "main" ]
+
+jobs:
+
+  build:
+    runs-on: ubuntu-latest
+    defaults:
+      run:
+        working-directory: url-shortener/servers/go/
+    steps:
+    - uses: actions/checkout@v3
+
+    - name: Set up Go
+      uses: actions/setup-go@v4
+      with:
+        go-version: '1.21.6'
+
+    - name: Set up dependencies
+      run: go get .
+
+    - name: Test
+      run: go test -v ./...