2021-01-28 00:04:58 +02:00
|
|
|
name: Production-Release
|
|
|
|
|
|
|
|
on: workflow_dispatch
|
|
|
|
|
2022-08-03 11:28:07 +02:00
|
|
|
env:
|
|
|
|
EXCLUDE_ENTERPRISE: true
|
2022-11-29 19:34:45 +02:00
|
|
|
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
2022-08-03 11:28:07 +02:00
|
|
|
|
2021-01-28 00:04:58 +02:00
|
|
|
jobs:
|
|
|
|
|
|
|
|
ubuntu:
|
2021-03-26 22:56:39 +02:00
|
|
|
runs-on: ubuntu-18.04
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/checkout@v3
|
2022-11-29 19:34:45 +02:00
|
|
|
with:
|
|
|
|
path: "focalboard"
|
|
|
|
- id: "mattermostServer"
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
continue-on-error: true
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref: ${{ env.BRANCH_NAME }}
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
if: steps.mattermostServer.outcome == 'failure'
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref : "master"
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-01 23:53:27 +02:00
|
|
|
- name: Replace token 1 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-01 23:53:27 +02:00
|
|
|
- name: Replace token 1 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-01 23:53:27 +02:00
|
|
|
|
|
|
|
- name: Replace token 2 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-01 23:53:27 +02:00
|
|
|
- name: Replace token 2 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-01 23:53:27 +02:00
|
|
|
|
2022-03-04 16:14:16 +02:00
|
|
|
- name: npm ci
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard/webapp; npm ci --no-optional
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
- name: Set up Go
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/setup-go@v3
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
2022-04-20 03:18:47 +02:00
|
|
|
go-version: 1.18.1
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-05-25 11:56:20 +02:00
|
|
|
- name: Setup Node
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/setup-node@v3
|
2021-05-25 11:56:20 +02:00
|
|
|
with:
|
|
|
|
node-version: 16.1.0
|
|
|
|
|
2021-01-28 00:04:58 +02:00
|
|
|
- name: apt-get update
|
|
|
|
run: sudo apt-get update
|
|
|
|
|
|
|
|
- name: apt-get install libgtk-3-dev
|
|
|
|
run: sudo apt-get install libgtk-3-dev
|
|
|
|
|
|
|
|
- name: apt-get install libwebkit2gtk-4.0-dev
|
|
|
|
run: sudo apt-get install libwebkit2gtk-4.0-dev
|
|
|
|
|
|
|
|
- name: Build Linux server and app
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard; make server-linux-package linux-app
|
2021-01-28 00:04:58 +02:00
|
|
|
env:
|
|
|
|
BUILD_NUMBER: ${{ github.run_id }}
|
|
|
|
|
|
|
|
- name: Upload server package
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/upload-artifact@v3
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
|
|
|
name: focalboard-server-linux-amd64.tar.gz
|
2022-11-29 19:34:45 +02:00
|
|
|
path: ${{ github.workspace }}/focalboard/dist/focalboard-server-linux-amd64.tar.gz
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
- name: Upload app package
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/upload-artifact@v3
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
|
|
|
name: focalboard-linux.tar.gz
|
2022-11-29 19:34:45 +02:00
|
|
|
path: ${{ github.workspace }}/focalboard/linux/dist/focalboard-linux.tar.gz
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
macos:
|
2022-02-15 04:52:38 +02:00
|
|
|
runs-on: macos-11
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
steps:
|
|
|
|
|
|
|
|
- name: Checkout
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/checkout@v3
|
2022-11-29 19:34:45 +02:00
|
|
|
with:
|
|
|
|
path: "focalboard"
|
|
|
|
- id: "mattermostServer"
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
continue-on-error: true
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref: ${{ env.BRANCH_NAME }}
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
if: steps.mattermostServer.outcome == 'failure'
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref : "master"
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 1 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 1 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-16 19:32:57 +02:00
|
|
|
|
|
|
|
- name: Replace token 2 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 2 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-16 19:32:57 +02:00
|
|
|
|
2022-03-04 16:14:16 +02:00
|
|
|
- name: npm ci
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard/webapp; npm ci --no-optional
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
- name: Set up Go
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/setup-go@v3
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
2022-04-20 03:18:47 +02:00
|
|
|
go-version: 1.18.1
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
- name: List Xcode versions
|
|
|
|
run: ls -n /Applications/ | grep Xcode*
|
|
|
|
|
|
|
|
- name: Build macOS
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard; make mac-app
|
2021-01-28 00:04:58 +02:00
|
|
|
env:
|
2022-02-15 04:52:38 +02:00
|
|
|
DEVELOPER_DIR: /Applications/Xcode_13.2.1.app/Contents/Developer
|
2021-01-28 00:04:58 +02:00
|
|
|
BUILD_NUMBER: ${{ github.run_id }}
|
|
|
|
|
|
|
|
- name: Upload macOS package
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/upload-artifact@v2
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
|
|
|
name: focalboard-mac.zip
|
2022-11-29 19:34:45 +02:00
|
|
|
path: ${{ github.workspace }}/focalboard/mac/dist/focalboard-mac.zip
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
windows:
|
2022-02-16 17:43:09 +02:00
|
|
|
runs-on: windows-2022
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/checkout@v3
|
2022-11-29 19:34:45 +02:00
|
|
|
with:
|
|
|
|
path: "focalboard"
|
|
|
|
- id: "mattermostServer"
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
continue-on-error: true
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref: ${{ env.BRANCH_NAME }}
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
if: steps.mattermostServer.outcome == 'failure'
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref : "master"
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 1 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 1 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-16 19:32:57 +02:00
|
|
|
|
|
|
|
- name: Replace token 2 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 2 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-16 19:32:57 +02:00
|
|
|
|
2021-03-05 03:08:05 +02:00
|
|
|
- name: Add msbuild to PATH
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: microsoft/setup-msbuild@v1.1
|
2021-03-05 03:08:05 +02:00
|
|
|
|
2022-03-04 16:14:16 +02:00
|
|
|
- name: npm ci
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard/webapp; npm ci --no-optional
|
2021-01-28 00:04:58 +02:00
|
|
|
|
|
|
|
- name: Set up Go
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/setup-go@v3
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
2022-04-20 03:18:47 +02:00
|
|
|
go-version: 1.18.1
|
2021-01-28 00:04:58 +02:00
|
|
|
|
2021-03-05 03:08:05 +02:00
|
|
|
- name: Setup NuGet
|
|
|
|
uses: nuget/setup-nuget@v1
|
|
|
|
with:
|
|
|
|
nuget-version: '5.x'
|
|
|
|
|
|
|
|
- name: NuGet Restore
|
2022-11-30 02:26:09 +02:00
|
|
|
run: nuget restore focalboard\win-wpf\Focalboard.sln
|
2021-03-05 03:08:05 +02:00
|
|
|
|
|
|
|
- name: Build Windows WPF app
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard; make win-wpf-app
|
2021-01-28 00:04:58 +02:00
|
|
|
env:
|
|
|
|
BUILD_NUMBER: ${{ github.run_id }}
|
|
|
|
|
2021-03-23 21:08:30 +02:00
|
|
|
- name: Upload app msix package
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/upload-artifact@v3
|
2021-01-28 00:04:58 +02:00
|
|
|
with:
|
2021-03-05 03:08:05 +02:00
|
|
|
name: focalboard.msix
|
2022-11-29 19:34:45 +02:00
|
|
|
path: ${{ github.workspace }}/focalboard/win-wpf/focalboard.msix
|
2021-03-23 21:08:30 +02:00
|
|
|
|
|
|
|
- name: Upload app zip package
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/upload-artifact@v3
|
2021-03-23 21:08:30 +02:00
|
|
|
with:
|
|
|
|
name: focalboard-win.zip
|
2022-11-29 19:34:45 +02:00
|
|
|
path: ${{ github.workspace }}/focalboard/win-wpf/dist/focalboard-win.zip
|
2021-06-11 01:29:27 +02:00
|
|
|
|
|
|
|
plugin-release:
|
|
|
|
runs-on: ubuntu-18.04
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/checkout@v3
|
2022-11-29 19:34:45 +02:00
|
|
|
with:
|
|
|
|
path: "focalboard"
|
|
|
|
- id: "mattermostServer"
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
continue-on-error: true
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref: ${{ env.BRANCH_NAME }}
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
if: steps.mattermostServer.outcome == 'failure'
|
|
|
|
with:
|
|
|
|
repository: "mattermost/mattermost-server"
|
|
|
|
fetch-depth: "20"
|
|
|
|
path: "mattermost-server"
|
|
|
|
ref : "master"
|
2021-06-11 01:29:27 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 1 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-06-11 01:29:27 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 1 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_dataplane_url,${{ secrets.RUDDER_DATAPLANE_URL }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-16 19:32:57 +02:00
|
|
|
|
|
|
|
- name: Replace token 2 server
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/server/services/telemetry/telemetry.go
|
2021-06-11 01:29:27 +02:00
|
|
|
|
2021-09-16 19:32:57 +02:00
|
|
|
- name: Replace token 2 webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: sed -i -e "s,placeholder_rudder_key,${{ secrets.RUDDER_PROD_KEY }},g" ${{ github.workspace }}/focalboard/mattermost-plugin/webapp/src/index.tsx
|
2021-09-16 19:32:57 +02:00
|
|
|
|
2022-03-04 16:14:16 +02:00
|
|
|
- name: npm ci
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard/webapp; npm ci --no-optional
|
2021-06-11 01:29:27 +02:00
|
|
|
|
|
|
|
- name: Set up Go
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/setup-go@v3
|
2021-06-11 01:29:27 +02:00
|
|
|
with:
|
2022-04-20 03:18:47 +02:00
|
|
|
go-version: 1.18.1
|
2021-06-11 01:29:27 +02:00
|
|
|
|
|
|
|
- name: Set up Node
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/setup-node@v3
|
2021-06-11 01:29:27 +02:00
|
|
|
with:
|
|
|
|
node-version: 16.1.0
|
|
|
|
|
|
|
|
- name: Build webapp
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard; make webapp
|
2021-06-11 01:29:27 +02:00
|
|
|
|
2022-03-04 16:14:16 +02:00
|
|
|
- name: npm ci plugin dependencies
|
2022-11-29 19:34:45 +02:00
|
|
|
run: cd focalboard/mattermost-plugin/webapp && npm ci
|
2021-06-11 01:29:27 +02:00
|
|
|
|
|
|
|
- name: Build plugin
|
2022-11-30 02:26:09 +02:00
|
|
|
run: cd focalboard/mattermost-plugin; make dist
|
2021-06-11 01:29:27 +02:00
|
|
|
env:
|
|
|
|
BUILD_NUMBER: ${{ github.run_id }}
|
|
|
|
|
|
|
|
- name: Rename plugin file
|
2022-11-30 02:45:32 +02:00
|
|
|
run: cd focalboard/mattermost-plugin/dist; mv focalboard-*.tar.gz mattermost-plugin-focalboard.tar.gz
|
2021-06-11 01:29:27 +02:00
|
|
|
|
|
|
|
- name: Upload plugin artifact
|
2022-04-20 03:18:47 +02:00
|
|
|
uses: actions/upload-artifact@v3
|
2021-06-11 01:29:27 +02:00
|
|
|
with:
|
|
|
|
name: mattermost-plugin-focalboard.tar.gz
|
2022-11-29 19:34:45 +02:00
|
|
|
path: ${{ github.workspace }}/focalboard/mattermost-plugin/dist/mattermost-plugin-focalboard.tar.gz
|