diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml
index a3c8fae389230bb9dbed0ce29500c84be610ede4..d7f3e95877d7065d836f0025b12255c2d73ca1dc 100644
--- a/.github/workflows/build-linux.yml
+++ b/.github/workflows/build-linux.yml
@@ -4,7 +4,6 @@ name: Linux Build
 # yamllint disable-line rule:truthy
 on:
   - push
-  - pull_request
 
 jobs:
   build:
diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml
index 5cb722be85e4532c106fb5ca66c81c84be9b03d7..5c2a454a0e99d4435d8c5e2e636ca6ee3965432d 100644
--- a/.github/workflows/build-macos.yml
+++ b/.github/workflows/build-macos.yml
@@ -4,7 +4,6 @@ name: macOS Build
 # yamllint disable-line rule:truthy
 on:
   - push
-  - pull_request
 
 jobs:
   build:
diff --git a/appveyor.yml b/appveyor.yml
index f4fb81d61aabc8492a94bc6c805f5d8fd7d37204..41ed28976cd954e7d0b306405d93541ecec6dba7 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -4,6 +4,9 @@ configuration: Release
 image:
 - Visual Studio 2019
 
+# Build and test only once for a pull request.
+skip_branch_with_pr: true
+
 environment:
   matrix:
     - QTDIR: C:\Qt\5.13\mingw73_32