diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6ca89a0aaafbf61d89f2fbf66ba428570fca43b8..67c2d7db96b09e988259f2ddc27316f040fe14f8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,8 @@
 # See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
 stages:
 - test
+- publish
+
 sast:
   stage: test
 include:
@@ -26,3 +28,14 @@ pytest:
       coverage_report:
         coverage_format: cobertura
         path: coverage.xml
+
+publish:
+  stage: publish
+  image: python:3.10-alpine
+  before_script:
+    - apk add poetry
+    - poetry install
+  script:
+    - poetry publish --username __token__ --password $PYPI_TOKEN --build
+  only:
+    - tags
diff --git a/pyproject.toml b/pyproject.toml
index ac9ddcb9cb5a8bc475b049cd7b6b9b0408e4b6ed..890c5262d7ba5f3fbba83adf64ea3e61370a32a0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "funkwhale-api-client"
-version = "0.1.0"
+version = "0.1.0-rc1"
 description = "A client library for accessing Funkwhale API"
 
 authors = []