diff --git a/.github/workflows/freebsd-12.yml b/.github/workflows/freebsd-12.yml
index 65625dbf82344f544337b4030a1766ad28e6b27d..34d96335fb2ee3f24a9e8f45ee9b90dc788a2728 100644
--- a/.github/workflows/freebsd-12.yml
+++ b/.github/workflows/freebsd-12.yml
@@ -49,3 +49,10 @@ jobs:
       - uses: ./.github/actions/environment
       - name: test
         run: make -f .travis.mk test_freebsd
+      - name: artifacts
+        uses: actions/upload-artifact@v2
+        if: failure()
+        with:
+          name: freebsd-12
+          retention-days: 21
+          path: ${{ env.VARDIR }}/artifacts
diff --git a/.github/workflows/freebsd-13.yml b/.github/workflows/freebsd-13.yml
index df7d4abf4de909a6cda9c92da2bd1dda4f775989..03d7b741bc5db2ead9e4e319d430c36031c604e9 100644
--- a/.github/workflows/freebsd-13.yml
+++ b/.github/workflows/freebsd-13.yml
@@ -49,3 +49,10 @@ jobs:
       - uses: ./.github/actions/environment
       - name: test
         run: make -f .travis.mk test_freebsd
+      - name: artifacts
+        uses: actions/upload-artifact@v2
+        if: failure()
+        with:
+          name: freebsd-13
+          retention-days: 21
+          path: ${{ env.VARDIR }}/artifacts