diff --git a/.forgejo/workflows/build-alpine.yml b/.forgejo/workflows/build-alpine.yml
new file mode 100644
index 00000000..73d0e34e
--- /dev/null
+++ b/.forgejo/workflows/build-alpine.yml
@@ -0,0 +1,44 @@
+on: 
+  - workflow-dispatch
+  - push
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    container:
+      image: alpine:edge
+
+    steps:
+      - name: set up dependencies
+        run: |
+          apk update 
+          apk upgrade 
+          apk add nodejs git alpine-sdk
+      - uses: actions/checkout@v4
+        with: 
+          sparse-checkout: "alpine/"
+      # - uses: https://code.forgejo.org/actions/checkout
+      
+      - name: set up user 
+        run: adduser -DG abuild ci 
+
+      - name: set up keys
+        run: |
+          pwd
+          mkdir ~/.abuild 
+          cat << EOF > ~/.abuild/ci@continuwuity.rsa
+          ${{ secrets.abuild_privkey }}
+          EOF 
+          cat << EOF > ~/.abuild/ci@continuwuity.rsa.pub 
+          ${{ secrets.abuild_pubkey }}
+          EOF 
+          echo $HOME
+          cat << EOF > ~/.abuild/abuild.conf 
+          PACKAGER_PRIVKEY="/home/ci/.abuild/ci@continuwuity.rsa"
+          EOF
+          ls ~/.abuild
+
+      - name: make sure the keys are actually there
+        run: ls /home/ci/.abuild
+
+# vim: shiftwidth=2