diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..1447242e
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,48 @@
+name: Release
+
+on:
+ push:
+ tags: v*
+
+jobs:
+ release:
+ name: Release workflow
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@master
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v1
+ with:
+ registry-url: "https://registry.npmjs.org/"
+
+ - name: Install
+ run: yarn --frozen-lockfile --non-interactive
+
+ - name: Build
+ run: yarn build
+ env:
+ NODE_ENV: production
+
+ - name: Test
+ run: yarn test
+
+ - name: Publish latest
+ if: "!contains(github.ref, '-')"
+ run: npm publish --tag latest
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
+
+ - name: Publish next
+ if: contains(github.ref, '-')
+ run: npm publish --tag next
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
+
+ - name: Remove next tag
+ if: "!contains(github.ref, '-')"
+ run: npm dist-tag rm thelounge next || true
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 6856b310..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-language: node_js
-
-# https://github.com/nodejs/Release
-# Specify current LTS version here, which is used for publishing to npm
-node_js:
- - 10 # EOL: April 2021
-
-os:
- - linux
-
-# https://github.com/nodejs/Release
-matrix:
- fast_finish: true
- include:
- # Version used to deploy to npm registry
- - name: "Production build"
- env: BUILD_ENV=production
-
- # Next node version
- - node_js: 12 # EOL: April 2022
-
-cache: yarn
-
-before_script:
- - NODE_ENV=$BUILD_ENV yarn build
-
-install:
- - yarn --frozen-lockfile --non-interactive --network-timeout 300000
-
-notifications:
- email:
- on_success: never
- on_failure: always
-
-# Identifies `a.b.c-xxx.n` tags as pre-releases, and `a.b.c` as stable releases
-before_deploy: |
- function npm_dist_tag() {
- if [[ "$TRAVIS_TAG" = *"-"* ]]; then
- echo "next"
- else
- echo "latest"
- fi
- }
-
-deploy:
- skip_cleanup: true # prevent git stash --all which nukes node_modules folder
- provider: npm
- tag: $(npm_dist_tag)
- email:
- secure: 0EZsBJAc9XjdEgvG0g2+UnF6DnB+pOfuTUGg83SJBSzpHiI/fPNRw/LTmvrba3yq3kjS32BfMVrPLKDPIHFSuNgfzxu7w1V3IhmbkMcHHu62o8aG8SDlEs58OuctcSYTYU+oeZY392pjB/kLNerLgPC/IeuHEcE/Os+VFPoFFTYbHAigbiGsRMlNAv3Da5xDpHeemn3B5c+b6l8tS9urSX28ThHHh883VRTd1Bb3ioBQ4C5dPa35Uk+2eV9MLswSMb4YAfZLB4R6jiUl3KAIZ87wbfcZon6/sqOyMx25XqWMG/Y3ygay73esXPyHMpJ/3kenRx7hPR1xoyfmTfyuUBi5k05jHRh2xmaBvFfQOjscvqYu0+7DrweF7dK0Yyy1A+ImCovMPJk5bIOjhFbA7lXQefyOW5CW3wJBKDFa8a/X6Ptdtsd6b3GPkSwa3mZw0u1S4xSDepmYq5XAVr+rIu8wgySahNkWMYzl6TSG8gQ6rvSI82DBf8lYOhSpNo7tFXFZqll2VVYcolhDymbwVe3CLzNZ3l62J1+oOsCPkr8Zf5Mx+BU0fXOHdQTpT/3xwj5kjkgQZcreBqUD49p5X00jgLifXQxJ2iy0VlwkGfZxeM8QrSGApUgO2s6KZkARWQDPD8L4MDyE4oiSZRUohT4N/dn1xqOvZm/eq8PnXFo=
- api_key:
- secure: AMz3r6oUv71mcTwpjVWc13AJvoIdhCB5zZQly88VMz1kxEgEkhXsugC2E5UOBKE+u45xGypbDoZIMt/raJfPTirZ9emTnl9Q3USc+V74RJ9RmsGrmCF9Kyr6ZdOuhifCLgQGzPK1U3IDp0S2EC6TRMD4x/bPjTakQYoE+XiQGji5p1j1Fjff2jyiJo396CYSR2dRgfG0h1Uz8ilK6AeSQ6iErMqOUvKpYnmlmsa4h/qGCpbb2XQtnzRLpFNYFA264lXNUh3on3DmvKH5qlw5NYJ6hl4ZUNzIk4uNPD2BklHg1l7U6sTWXUk3VLI86GyymCHef29Ry47cKXXNCY0pR3r+ptOm9OxWvtS/8pZv/XFzRq/oCtEk27DWUc/NHJiv/+7uKXSAeSZ0OqDCNxLXfre0nFtzcrXZ5aV4aspjbKrbYZj10gef4q5/OzTFJOxRifPDjvpxnACwGsgZaqei/grRNHkVkHci1IRn56Vj7oKuFJemmckJXi/QuozXf72oYYfi4LUamdfNu/5i5tKV/cj4TFsB+sOt/by9qxPPo/YXkGKTrdoqSshLX0tKyf69zS8Bmp/mb768a1vrxZRco0EajP4YzzoNMjnWpgjFikTNOJ2DzuySdSjVcU2d0OLge7OBtui9yaYA68ETNaA0uhQVxmBOb/Ujt9OGAqrhskU=
- on:
- condition: "$BUILD_ENV = production"
- tags: true
- repo: thelounge/thelounge
-
-# If the current release is a stable release, remove potential pre-release tag
-after_deploy: |
- if [ "$(npm_dist_tag)" == "latest" ]; then
- npm dist-tag rm thelounge next || true
- fi
diff --git a/README.md b/README.md
index d965c146..043b5250 100644
--- a/README.md
+++ b/README.md
@@ -25,9 +25,6 @@
-