diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..a5b6702a
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,387 @@
+name: Build + Publish
+
+on:
+ push:
+ branches:
+ - main
+ tags:
+ - 'v*'
+
+env:
+ BASE_DEV_VERSION: 2.5.0
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ permissions:
+ packages: write
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set Build Variables
+ run: |
+ if [[ "$GITHUB_REF" =~ ^refs/tags/v* ]]; then
+ echo "Using TAG mode: $GITHUB_REF_NAME"
+ echo "REL_VERSION=$GITHUB_REF_NAME" >> $GITHUB_ENV
+ echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
+ else
+ echo "Using BRANCH mode: v$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER"
+ echo "REL_VERSION=v$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER" >> $GITHUB_ENV
+ echo "REL_VERSION_STRICT=$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER" >> $GITHUB_ENV
+ fi
+
+ - name: Disable DEV Flag + Set Version
+ run: |
+ sudo apt-get install jq -y
+ mv package.json pkg-temp.json
+ jq --arg vs "$REL_VERSION_STRICT" -r '. + {dev:false, version:$vs}' pkg-temp.json > package.json
+ rm pkg-temp.json
+ cat package.json
+
+ - name: Login to DockerHub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Build and push Docker images
+ uses: docker/build-push-action@v2.9.0
+ with:
+ context: .
+ file: dev/build/Dockerfile
+ push: true
+ tags: |
+ requarks/wiki:canary
+ requarks/wiki:canary-${{ env.REL_VERSION_STRICT }}
+ ghcr.io/requarks/wiki:canary
+ ghcr.io/requarks/wiki:canary-${{ env.REL_VERSION_STRICT }}
+
+ - name: Extract compiled files
+ run: |
+ mkdir -p _dist
+ docker create --name wiki ghcr.io/requarks/wiki:canary-$REL_VERSION_STRICT
+ docker cp wiki:/wiki _dist
+ docker rm wiki
+ rm _dist/wiki/config.yml
+ cp ./config.sample.yml _dist/wiki/config.sample.yml
+ find _dist/wiki/ -printf "%P\n" | tar -czf wiki-js.tar.gz --no-recursion -C _dist/wiki/ -T -
+
+ - name: Upload a Build Artifact
+ uses: actions/upload-artifact@v2.3.1
+ with:
+ name: drop
+ path: wiki-js.tar.gz
+
+ cypress:
+ name: Run Cypress Tests
+ runs-on: ubuntu-latest
+ needs: [build]
+
+ strategy:
+ matrix:
+ dbtype: [postgres, mysql, mariadb, mssql, sqlite]
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set Test Variables
+ run: |
+ if [[ "$GITHUB_REF" =~ ^refs/tags/v* ]]; then
+ echo "Using TAG mode: $GITHUB_REF_NAME"
+ echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
+ else
+ echo "Using BRANCH mode: v$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER"
+ echo "REL_VERSION_STRICT=$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER" >> $GITHUB_ENV
+ fi
+
+ - name: Run Tests
+ env:
+ MATRIXENV: ${{ matrix.dbtype }}
+ CYPRESS_KEY: ${{ secrets.CYPRESS_KEY }}
+ run: |
+ chmod u+x dev/cypress/ci-setup.sh
+ dev/cypress/ci-setup.sh
+ docker run --name cypress --ipc=host --shm-size 1G -v $GITHUB_WORKSPACE:/e2e -w /e2e cypress/included:4.9.0 --record --key "$CYPRESS_KEY" --headless --group "$MATRIXENV" --ci-build-id "$REL_VERSION_STRICT-run$GITHUB_RUN_NUMBER.$GITHUB_RUN_ATTEMPT" --tag "$REL_VERSION_STRICT" --config baseUrl=http://172.17.0.1:3000
+
+ arm:
+ name: ARM Build
+ runs-on: ubuntu-latest
+ needs: [cypress]
+ permissions:
+ packages: write
+
+ strategy:
+ matrix:
+ include:
+ - platform: linux/arm64
+ docker: arm64
+ - platform: linux/arm/v7
+ docker: armv7
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set Version Variables
+ run: |
+ if [[ "$GITHUB_REF" =~ ^refs/tags/v* ]]; then
+ echo "Using TAG mode: $GITHUB_REF_NAME"
+ echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
+ else
+ echo "Using BRANCH mode: v$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER"
+ echo "REL_VERSION_STRICT=$BASE_DEV_VERSION-dev.$GITHUB_RUN_NUMBER" >> $GITHUB_ENV
+ fi
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+
+ - name: Login to DockerHub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Download a Build Artifact
+ uses: actions/download-artifact@v2.1.0
+ with:
+ name: drop
+ path: drop
+
+ - name: Extract Build
+ run: |
+ mkdir -p build
+ tar -xzf $GITHUB_WORKSPACE/drop/wiki-js.tar.gz -C $GITHUB_WORKSPACE/build --exclude=node_modules
+
+ - name: Build and push Docker images
+ uses: docker/build-push-action@v2.9.0
+ with:
+ context: .
+ file: dev/build-arm/Dockerfile
+ platforms: ${{ matrix.platform }}
+ push: true
+ tags: |
+ requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }}
+ ghcr.io/requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }}
+
+ windows:
+ name: Windows Build
+ runs-on: windows-latest
+ needs: [cypress]
+
+ steps:
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v2.5.1
+ with:
+ node-version: 12.x
+
+ - name: Download a Build Artifact
+ uses: actions/download-artifact@v2.1.0
+ with:
+ name: drop
+ path: drop
+
+ - name: Extract Build
+ run: |
+ mkdir -p win
+ tar -xzf $env:GITHUB_WORKSPACE\drop\wiki-js.tar.gz -C $env:GITHUB_WORKSPACE\win --exclude=node_modules
+
+ - name: Install Dependencies
+ run: yarn --production --frozen-lockfile --non-interactive
+ working-directory: win
+
+ - name: Create Bundle
+ run: tar -czf wiki-js-windows.tar.gz -C $env:GITHUB_WORKSPACE\win .
+
+ - name: Upload a Build Artifact
+ uses: actions/upload-artifact@v2.3.1
+ with:
+ name: drop-win
+ path: wiki-js-windows.tar.gz
+
+ beta:
+ name: Publish Beta Images
+ runs-on: ubuntu-latest
+ if: startsWith(github.ref, 'refs/tags/v')
+ needs: [build, arm, windows]
+ permissions:
+ packages: write
+
+ steps:
+ - name: Set Version Variables
+ run: |
+ echo "Using TAG mode: $GITHUB_REF_NAME"
+ echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
+
+ - name: Login to DockerHub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Create and Push Manifests
+ run: |
+ echo "Creating the manifests..."
+
+ docker manifest create requarks/wiki:beta-$REL_VERSION_STRICT requarks/wiki:canary-$REL_VERSION_STRICT requarks/wiki:canary-arm64-$REL_VERSION_STRICT requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create ghcr.io/requarks/wiki:beta-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-arm64-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+
+ echo "Pushing the manifests..."
+
+ docker manifest push -p requarks/wiki:beta-$REL_VERSION_STRICT
+ docker manifest push -p ghcr.io/requarks/wiki:beta-$REL_VERSION_STRICT
+
+ release:
+ name: Publish Release Images
+ runs-on: ubuntu-latest
+ if: startsWith(github.ref, 'refs/tags/v')
+ environment: prod
+ needs: [beta]
+ permissions:
+ packages: write
+ contents: write
+
+ steps:
+ - name: Set Version Variables
+ run: |
+ echo "Using TAG mode: $GITHUB_REF_NAME"
+ echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
+
+ - name: Login to DockerHub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Create and Push Manifests
+ run: |
+ echo "Fetching semver tool..."
+ curl -LJO https://static.requarks.io/semver
+ chmod +x semver
+
+ MAJOR=`./semver get major $REL_VERSION_STRICT`
+ MINOR=`./semver get minor $REL_VERSION_STRICT`
+ MAJORMINOR="$MAJOR.$MINOR"
+
+ echo "Using major $MAJOR and minor $MINOR..."
+ echo "Creating the manifests..."
+
+ docker manifest create requarks/wiki:$REL_VERSION_STRICT requarks/wiki:canary-$REL_VERSION_STRICT requarks/wiki:canary-arm64-$REL_VERSION_STRICT requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create requarks/wiki:$MAJOR requarks/wiki:canary-$REL_VERSION_STRICT requarks/wiki:canary-arm64-$REL_VERSION_STRICT requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create requarks/wiki:$MAJORMINOR requarks/wiki:canary-$REL_VERSION_STRICT requarks/wiki:canary-arm64-$REL_VERSION_STRICT requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create requarks/wiki:latest requarks/wiki:canary-$REL_VERSION_STRICT requarks/wiki:canary-arm64-$REL_VERSION_STRICT requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create ghcr.io/requarks/wiki:$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-arm64-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create ghcr.io/requarks/wiki:$MAJOR ghcr.io/requarks/wiki:canary-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-arm64-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create ghcr.io/requarks/wiki:$MAJORMINOR ghcr.io/requarks/wiki:canary-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-arm64-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+ docker manifest create ghcr.io/requarks/wiki:latest ghcr.io/requarks/wiki:canary-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-arm64-$REL_VERSION_STRICT ghcr.io/requarks/wiki:canary-armv7-$REL_VERSION_STRICT
+
+ echo "Pushing the manifests..."
+
+ docker manifest push -p requarks/wiki:$REL_VERSION_STRICT
+ docker manifest push -p requarks/wiki:$MAJOR
+ docker manifest push -p requarks/wiki:$MAJORMINOR
+ docker manifest push -p requarks/wiki:latest
+ docker manifest push -p ghcr.io/requarks/wiki:$REL_VERSION_STRICT
+ docker manifest push -p ghcr.io/requarks/wiki:$MAJOR
+ docker manifest push -p ghcr.io/requarks/wiki:$MAJORMINOR
+ docker manifest push -p ghcr.io/requarks/wiki:latest
+
+ - name: Download Linux Build
+ uses: actions/download-artifact@v2.1.0
+ with:
+ name: drop
+ path: drop
+
+ - name: Download Windows Build
+ uses: actions/download-artifact@v2.1.0
+ with:
+ name: drop-win
+ path: drop-win
+
+ - name: Generate Changelog
+ id: changelog
+ uses: Requarks/changelog-action@v1
+ with:
+ token: ${{ github.token }}
+ tag: ${{ github.ref_name }}
+ writeToFile: false
+
+ - name: Update GitHub Release
+ uses: ncipollo/release-action@v1
+ with:
+ allowUpdates: true
+ draft: false
+ name: ${{ github.ref_name }}
+ body: ${{ steps.changelog.outputs.changes }}
+ token: ${{ github.token }}
+ artifacts: 'drop/wiki-js.tar.gz,drop-win/wiki-js-windows.tar.gz'
+
+ - name: Notify Slack Releases Channel
+ uses: slackapi/slack-github-action@v1.18.0
+ with:
+ payload: |
+ {
+ "text": "Wiki.js ${{ github.ref_name }} has been released."
+ }
+ env:
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
+ SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
+
+ build-do-image:
+ name: Build DigitalOcean Image
+ runs-on: ubuntu-latest
+ needs: [release]
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set Version Variables
+ run: |
+ echo "Using TAG mode: $GITHUB_REF_NAME"
+ echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
+
+ - name: Install Packer
+ run: |
+ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
+ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
+ sudo apt-get update && sudo apt-get install packer
+
+ - name: Build Droplet Image
+ env:
+ DIGITALOCEAN_API_TOKEN: ${{ secrets.DO_TOKEN }}
+ WIKI_APP_VERSION: ${{ env.REL_VERSION_STRICT }}
+ working-directory: dev/packer
+ run: |
+ packer build digitalocean.json
diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml
index 5d7bec69..5c27af1e 100644
--- a/.github/workflows/helm.yml
+++ b/.github/workflows/helm.yml
@@ -3,7 +3,7 @@ name: Helm Chart CI
on:
# Triggers the workflow on push or pull request events but only for the dev branch
push:
- branches: [ dev ]
+ branches: [ main ]
paths: [ dev/helm/** ]
# Allows you to run this workflow manually from the Actions tab
diff --git a/.github/workflows/packer.yml b/.github/workflows/packer.yml
new file mode 100644
index 00000000..4ef42f31
--- /dev/null
+++ b/.github/workflows/packer.yml
@@ -0,0 +1,31 @@
+name: Build DigitalOcean Image
+
+on:
+ workflow_dispatch:
+ inputs:
+ version:
+ description: 'App Version'
+ required: true
+ type: string
+
+jobs:
+ build-do-image:
+ name: Build DigitalOcean Image
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Install Packer
+ run: |
+ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
+ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
+ sudo apt-get update && sudo apt-get install packer
+
+ - name: Build Droplet Image
+ env:
+ DIGITALOCEAN_API_TOKEN: ${{ secrets.DO_TOKEN }}
+ WIKI_APP_VERSION: ${{ github.event.inputs.version }}
+ working-directory: dev/packer
+ run: |
+ packer build digitalocean.json
diff --git a/README.md b/README.md
index 4e81f6b6..f09c667a 100644
--- a/README.md
+++ b/README.md
@@ -4,15 +4,13 @@
[](https://github.com/Requarks/wiki/releases)
[](https://github.com/requarks/wiki/blob/master/LICENSE)
-[](https://opencollective.com/wikijs)
+[](http://standardjs.com/)
[](https://github.com/Requarks/wiki/releases)
[](https://hub.docker.com/r/requarks/wiki/)
-[](https://dev.azure.com/requarks/wiki/_build/latest?definitionId=9)
-[](https://sonarcloud.io/dashboard?id=wiki)
-[](https://sonarcloud.io/dashboard?id=wiki)
-[](https://sonarcloud.io/dashboard?id=wiki)
-[](http://standardjs.com/)
-[](https://huntr.dev/bounties/disclose)
+[](https://github.com/Requarks/wiki/actions/workflows/build.yml)
+[](https://huntr.dev/bounties/disclose)
+[](https://github.com/users/NGPixel/sponsorship)
+[](https://opencollective.com/wikijs)
[](https://wiki.requarks.io/slack)
[](https://twitter.com/requarks)
[](https://www.reddit.com/r/wikijs/)
@@ -27,7 +25,7 @@
- [Requirements](https://docs.requarks.io/install/requirements)
- [Installation](https://docs.requarks.io/install)
- [Demo](https://docs.requarks.io/demo)
-- [Change Log](https://docs.requarks.io/releases)
+- [Changelog](https://docs.requarks.io/releases)
- [Feature Requests](https://feedback.js.wiki/wiki)
- [Chat with us on Slack](https://wiki.requarks.io/slack)
- [Translations](https://docs.requarks.io/dev/translations) *(We need your help!)*
@@ -134,7 +132,9 @@ Support this project by becoming a sponsor. Your name will show up in the Contri
-
+
+
+
- Akira Suenami ([@a-suenami](https://github.com/a-suenami))
- Arnaud Marchand ([@snuids](https://github.com/snuids))
@@ -148,15 +148,23 @@ Support this project by becoming a sponsor. Your name will show up in the Contri
- Elijah Zobenko ([@he110](https://github.com/he110))
- Ernie ([@iamernie](https://github.com/iamernie))
- Fabio Ferrari ([@devxops](https://github.com/devxops))
+- Finsa S.p.A. ([@finsaspa](https://github.com/finsaspa))
- Florian Moss ([@florianmoss](https://github.com/florianmoss))
+- GoodCorporateCitizen ([@GoodCorporateCitizen](https://github.com/GoodCorporateCitizen))
- HeavenBay ([@HeavenBay](https://github.com/heavenbay))
+- Ian Hyzy ([@ianhyzy](https://github.com/ianhyzy))
- Jaimyn Mayer ([@jabelone](https://github.com/jabelone))
- Jay Lee ([@polyglotm](https://github.com/polyglotm))
- Kelly Wardrop ([@dropcoded](https://github.com/dropcoded))
- Loki ([@binaryloki](https://github.com/binaryloki))
- MaFarine ([@MaFarine](https://github.com/MaFarine))
- Marcilio Leite Neto ([@marclneto](https://github.com/marclneto))
+
+ |
+
+
- Mattias Johnson ([@mattiasJohnson](https://github.com/mattiasJohnson))
+- Max Ricketts-Uy ([@MaxRickettsUy](https://github.com/MaxRickettsUy))
- Mitchell Rowton ([@mrowton](https://github.com/mrowton))
- M. Scott Ford ([@mscottford](https://github.com/mscottford))
- Nick Halase ([@nhalase](https://github.com/nhalase))
@@ -164,7 +172,7 @@ Support this project by becoming a sponsor. Your name will show up in the Contri
- Noel Cower ([@nilium](https://github.com/nilium))
- Philipp Schmitt ([@pschmitt](https://github.com/pschmitt))
- Robert Lanzke ([@winkelement](https://github.com/winkelement))
-- Sam Martin ([@winkelement](https://github.com/ABitMoreDepth))
+- Sam Martin ([@ABitMoreDepth](https://github.com/ABitMoreDepth))
- Sean Coffey ([@seanecoffey](https://github.com/seanecoffey))
- Stephan Kristyn ([@stevek-pro](https://github.com/stevek-pro))
- Theodore Chu ([@TheodoreChu](https://github.com/TheodoreChu))
@@ -178,6 +186,9 @@ Support this project by becoming a sponsor. Your name will show up in the Contri
- rburckner ([@rburckner](https://github.com/rburckner))
- scorpion ([@scorpion](https://github.com/scorpion))
- valantien ([@valantien](https://github.com/valantien))
+
+ |
+
OpenCollective Sponsors
@@ -313,7 +324,10 @@ Support this project by becoming a sponsor. Your logo will show up in the Contri
Thank you to all our patrons! 🙏 [[Become a patron](https://www.patreon.com/requarks)]
-
+
+
+
+
- Al Romano
- Alex Balabanov
- Alex Zen
@@ -330,6 +344,10 @@ Thank you to all our patrons! 🙏 [[Become a patron](https://www.patreon.com/re
- hong
- Hope
- Ian
+
+ |
+
+
- Iskander Callos
- Josh Stewart
- Justin Dunsworth
@@ -346,7 +364,9 @@ Thank you to all our patrons! 🙏 [[Become a patron](https://www.patreon.com/re
- Stepan Sokolovskyi
- Zach Maynard
- 张白驹
-
+
+ |
+
OpenCollective Backers
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
deleted file mode 100644
index 8f4fdb75..00000000
--- a/azure-pipelines.yml
+++ /dev/null
@@ -1,158 +0,0 @@
-name: 2.6.$(Rev:r)
-
-trigger:
-- dev
-- latest
-
-stages:
-- stage: build
- displayName: Build stage
- jobs:
-
- # -------------------------------
- # BUILD - LINUX
- # -------------------------------
-
- - job: buildLinux
- displayName: Linux Build
- timeoutInMinutes: 60
- cancelTimeoutInMinutes: 1
- pool:
- name: Azure Pipelines
- vmImage: ubuntu-latest
- steps:
- - task: CmdLine@2
- displayName: Disable dev flag
- inputs:
- script: |
- sudo apt-get install jq -y
- mv package.json pkg-temp.json
- jq -r '.dev |= false' pkg-temp.json > package.json
- rm pkg-temp.json
- workingDirectory: '$(Build.SourcesDirectory)'
-
- - task: CmdLine@2
- displayName: Set Package Version
- inputs:
- script: |
- mv package.json pkg-temp.json
- jq -r '.version |= "$(Build.BuildNumber)"' pkg-temp.json > package.json
- rm pkg-temp.json
- cat package.json
- workingDirectory: '$(Build.SourcesDirectory)'
-
- - task: Docker@2
- displayName: Build Docker image
- inputs:
- containerRegistry: Docker Hub
- repository: requarks/wiki
- Dockerfile: dev/build/Dockerfile
- buildContext: '$(System.DefaultWorkingDirectory)'
- tags: |
- canary
- canary-$(Build.BuildNumber)
- addPipelineData: false
-
- - task: CmdLine@2
- displayName: Extract compiled files
- inputs:
- script: |
- docker create --name wiki requarks/wiki:canary
- docker cp wiki:/wiki $(Build.StagingDirectory)
- docker rm wiki
- rm $(Build.StagingDirectory)/wiki/config.yml
- cp $(System.DefaultWorkingDirectory)/config.sample.yml $(Build.StagingDirectory)/wiki/config.sample.yml
- find $(Build.StagingDirectory)/wiki/ -printf "%P\n" | tar -czf wiki-js.tar.gz --no-recursion -C $(Build.StagingDirectory)/wiki/ -T -
- workingDirectory: '$(Build.SourcesDirectory)'
-
- - task: PublishBuildArtifacts@1
- displayName: Publish Build Artifacts
- inputs:
- PathtoPublish: 'wiki-js.tar.gz'
- ArtifactName: 'drop'
-
- # -------------------------------
- # TESTS - CYPRESS E2E TESTS
- # -------------------------------
-
- - job: testCypress
- displayName: Cypress E2E Tests
- dependsOn: buildLinux
- strategy:
- maxParallel: 5
- matrix:
- MariaDB:
- MATRIXENV: mariadb
- MySQL:
- MATRIXENV: mysql
- MSSQLServer:
- MATRIXENV: mssql
- PostgreSQL:
- MATRIXENV: postgres
- SQLite:
- MATRIXENV: sqlite
- timeoutInMinutes: 30
- cancelTimeoutInMinutes: 1
- pool:
- name: Azure Pipelines
- vmImage: ubuntu-latest
- steps:
- - task: Bash@3
- displayName: Setup Environment
- inputs:
- targetType: filePath
- filePath: './dev/cypress/ci-setup.sh'
- workingDirectory: '$(Build.SourcesDirectory)'
-
- - script: |
- docker run --name cypress --ipc=host --shm-size 1G -v $BUILD_SOURCESDIRECTORY:/e2e -w /e2e cypress/included:4.9.0 --record --key "$(CYPRESS_KEY)" --headless --group "$MATRIXENV" --ci-build-id "$BUILD_BUILDNUMBER" --config baseUrl=http://172.17.0.1:3000
- displayName: 'Run Tests'
-
- # -------------------------------
- # BUILD - WINDOWS
- # -------------------------------
-
- - job: buildWindows
- displayName: Windows Build
- dependsOn: buildLinux
- pool:
- name: Azure Pipelines
- vmImage: windows-latest
- timeoutInMinutes: 30
- cancelTimeoutInMinutes: 1
- steps:
- - task: NodeTool@0
- displayName: 'Use Node 14.x'
- inputs:
- versionSpec: 14.x
-
- - task: 'geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3'
- displayName: 'Use Yarn 1.x'
-
- - task: DownloadBuildArtifacts@0
- displayName: 'Download Build Artifacts'
- inputs:
- artifactName: drop
-
- - script: |
- mkdir -p $(Build.SourcesDirectory)\win
- tar -xzf $(System.ArtifactsDirectory)\drop\wiki-js.tar.gz -C $(Build.SourcesDirectory)\win --exclude=node_modules
- displayName: 'Extract build'
- - script: 'yarn --production --frozen-lockfile --non-interactive'
- workingDirectory: win
- displayName: 'Install dependencies'
-
- - task: ArchiveFiles@2
- displayName: 'Archive app'
- inputs:
- rootFolderOrFile: '$(System.DefaultWorkingDirectory)\win'
- includeRootFolder: false
- archiveType: tar
- archiveFile: 'wiki-js-windows.tar.gz'
-
- - task: PublishBuildArtifacts@1
- displayName: Publish Build Artifacts
- inputs:
- PathtoPublish: 'wiki-js-windows.tar.gz'
- ArtifactName: 'drop-win'
-
diff --git a/client/components/editor/editor-markdown.vue b/client/components/editor/editor-markdown.vue
index e334f07b..6134524d 100644
--- a/client/components/editor/editor-markdown.vue
+++ b/client/components/editor/editor-markdown.vue
@@ -290,12 +290,12 @@ const md = new MarkdownIt({
})
.use(underline)
.use(mdEmoji)
- .use(mdTaskLists, {label: false, labelAfter: false})
+ .use(mdTaskLists, { label: false, labelAfter: false })
.use(mdExpandTabs)
.use(mdAbbr)
.use(mdSup)
.use(mdSub)
- .use(mdMultiTable, {multiline: true, rowspan: true, headerless: true})
+ .use(mdMultiTable, { multiline: true, rowspan: true, headerless: true })
.use(mdMark)
.use(mdFootnote)
.use(mdImsize)
diff --git a/client/components/welcome.vue b/client/components/welcome.vue
index 815aa4bf..3e4f4af3 100644
--- a/client/components/welcome.vue
+++ b/client/components/welcome.vue
@@ -5,9 +5,14 @@
img.animated.fadeIn(src='/_assets/svg/logo-wikijs.svg', alt='Wiki.js')
.headline.animated.fadeInUp {{ $t('welcome.title') }}
.subtitle-1.mt-3.animated.fadeInUp.wait-p1s {{ $t('welcome.subtitle') }}
- v-btn.mt-5.animated.fadeInUp.wait-p2s(color='primary', :href='`/e/` + locale + `/home`', x-large)
- v-icon(left) mdi-plus
- span {{ $t('welcome.createhome') }}
+ div
+ v-btn.mt-5.mx-3.animated.fadeInUp.wait-p2s(color='primary', :href='`/e/` + locale + `/home`', x-large)
+ v-icon(left) mdi-plus
+ span {{ $t('welcome.createhome') }}
+ v-btn.mt-5.mx-3.animated.fadeInUp.wait-p3s(color='primary', href='/a', x-large)
+ v-icon(left) mdi-view-dashboard
+ span {{ $t('welcome.goadmin') }}
+