Changed the WebsocketListeners
in the webapp from a Map
to an array.
#355
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- "v[0-9]+.[0-9]+.[0-9]+" | |
pull_request: | |
permissions: | |
contents: write | |
jobs: | |
e2e: | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./e2e | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Build | |
run: make dist | |
working-directory: ./ | |
- name: Install dependencies | |
run: npm ci | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
- name: Run Playwright tests | |
run: npx playwright test | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: ./e2e/playwright-report/ | |
retention-days: 30 | |
plugin-ci: | |
uses: mattermost/actions-workflows/.github/workflows/plugin-ci.yml@main | |
with: | |
golangci-lint-version: "v1.54.2" | |
golang-version: "1.21" | |
secrets: inherit | |
deploy: | |
needs: [plugin-ci, e2e] | |
if: github.ref == 'refs/heads/master' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Build plugin | |
run: make dist | |
- name: Update latest-master release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
PLUGIN_FILE=$(ls dist/*.tar.gz) | |
# Get the commit message and hash | |
COMMIT_MSG=$(git log -1 --pretty=%B) | |
COMMIT_HASH=$(git rev-parse --short HEAD) | |
# Delete the old release if it exists | |
gh release delete latest-master --yes || true | |
# Delete the old tag if it exists | |
git tag -d latest-master || true | |
git push origin :refs/tags/latest-master || true | |
# Create new tag and release | |
git tag latest-master | |
git push origin latest-master | |
gh release create latest-master \ | |
--title "Latest Master Build" \ | |
--notes "Latest build from master branch - ${COMMIT_HASH}" \ | |
--prerelease \ | |
$PLUGIN_FILE | |
- name: Deploy to Mattermost instances | |
env: | |
MM_SERVERS_CONFIG: ${{ secrets.MM_SERVERS_CONFIG }} | |
run: | | |
PLUGIN_FILE=$(ls dist/*.tar.gz) | |
echo "Found plugin bundle: $PLUGIN_FILE" | |
echo "$MM_SERVERS_CONFIG" | jq -c '.[]' | while read -r server; do | |
url=$(echo "$server" | jq -r '.url') | |
token=$(echo "$server" | jq -r '.token') | |
echo "Deploying to $url" | |
curl -H "Authorization: Bearer $token" \ | |
-X POST \ | |
-F "plugin=@$PLUGIN_FILE" \ | |
-F "force=true" \ | |
"$url/api/v4/plugins" | |
done |