forked from element-hq/element-web
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream'
- Loading branch information
Showing
27 changed files
with
12,727 additions
and
827 deletions.
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
name: Dockerhub | ||
on: | ||
workflow_dispatch: {} | ||
push: | ||
tags: [v*] | ||
schedule: | ||
# This job can take a while, and we have usage limits, so just publish develop only twice a day | ||
- cron: "0 7/12 * * *" | ||
concurrency: ${{ github.workflow }}-${{ github.ref_name }} | ||
|
||
permissions: | ||
id-token: write # needed for signing the images with GitHub OIDC Token | ||
jobs: | ||
buildx: | ||
name: Docker Buildx | ||
runs-on: ubuntu-latest | ||
environment: dockerhub | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- variant: vanilla | ||
# Variant we ship to aid ESS in providing a build on the OpenCoDE platform including specific modules | ||
- variant: opendesk | ||
flavor: suffix=-opendesk,onlatest=true | ||
prepare: mv variants/openDesk/* . | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # needed for docker-package to be able to calculate the version | ||
|
||
- name: Install Cosign | ||
uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3 | ||
|
||
- name: Prepare | ||
if: matrix.prepare | ||
run: ${{ matrix.prepare }} | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3 | ||
with: | ||
install: true | ||
|
||
- name: Login to Docker Hub | ||
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
|
||
- name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5 | ||
with: | ||
images: | | ||
vectorim/element-web | ||
tags: | | ||
type=ref,event=branch | ||
type=ref,event=tag | ||
flavor: | | ||
latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }} | ||
${{ matrix.flavor }} | ||
- name: Build and push | ||
id: build-and-push | ||
uses: docker/build-push-action@31159d49c0d4756269a0940a750801a1ea5d7003 # v6 | ||
with: | ||
context: . | ||
push: true | ||
platforms: linux/amd64,linux/arm64 | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
|
||
- name: Sign the images with GitHub OIDC Token | ||
env: | ||
DIGEST: ${{ steps.build-and-push.outputs.digest }} | ||
TAGS: ${{ steps.meta.outputs.tags }} | ||
run: | | ||
images="" | ||
for tag in ${TAGS}; do | ||
images+="${tag}@${DIGEST} " | ||
done | ||
cosign sign --yes ${images} | ||
- name: Update repo description | ||
if: matrix.variant == 'vanilla' | ||
uses: peter-evans/dockerhub-description@e98e4d1628a5f3be2be7c231e50981aee98723ae # v4 | ||
continue-on-error: true | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
repository: vectorim/element-web |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
name: Release Process | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
mode: | ||
description: What type of release | ||
required: true | ||
default: rc | ||
type: choice | ||
options: | ||
- rc | ||
- final | ||
concurrency: ${{ github.workflow }} | ||
jobs: | ||
release: | ||
uses: matrix-org/matrix-js-sdk/.github/workflows/release-make.yml@develop | ||
secrets: | ||
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
with: | ||
final: ${{ inputs.mode == 'final' }} | ||
gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} | ||
asset-path: dist/*.tar.gz | ||
expected-asset-count: 3 | ||
|
||
notify-downstream: | ||
name: Trigger release drafter downstream | ||
needs: release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Notify element-desktop repo that element-web release has completed to re-trigger release-drafter | ||
uses: benc-uk/workflow-dispatch@25b02cc069be46d637e8fe2f1e8484008e9e9609 # v1 | ||
with: | ||
workflow: release-drafter.yml | ||
repo: element-hq/element-desktop | ||
ref: staging | ||
# Required when using the `repo` option. Either a PAT or a token generated from the GitHub app or CLI | ||
token: "${{ secrets.ELEMENT_BOT_TOKEN }}" | ||
|
||
check: | ||
name: Post release checks | ||
needs: release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Wait for dockerhub | ||
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork | ||
with: | ||
ref: master | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
wait-interval: 10 | ||
check-name: "Docker Buildx (vanilla)" | ||
allowed-conclusions: success | ||
|
||
- name: Wait for debian package | ||
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork | ||
with: | ||
ref: master | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
wait-interval: 10 | ||
check-name: Build package | ||
allowed-conclusions: success |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
name: Move labelled issues to correct projects | ||
|
||
on: | ||
issues: | ||
types: [labeled] | ||
workflow_call: | ||
secrets: | ||
ELEMENT_BOT_TOKEN: | ||
required: true | ||
|
||
jobs: | ||
apply_Z-Labs_label: | ||
name: Add Z-Labs label for features behind labs flags | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'A-Maths') || | ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || | ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || | ||
contains(github.event.issue.labels.*.name, 'Z-IA') || | ||
contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') || | ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || | ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || | ||
contains(github.event.issue.labels.*.name, 'A-Tags') || | ||
contains(github.event.issue.labels.*.name, 'A-Video-Rooms') || | ||
contains(github.event.issue.labels.*.name, 'A-Message-Starring') || | ||
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') || | ||
contains(github.event.issue.labels.*.name, 'A-Element-Call') | ||
steps: | ||
- uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
github.rest.issues.addLabels({ | ||
issue_number: context.issue.number, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
labels: ['Z-Labs'] | ||
}) | ||
apply_Help-Wanted_label: | ||
name: Add "Help Wanted" label to all "good first issue" and Hacktoberfest | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'good first issue') || | ||
contains(github.event.issue.labels.*.name, 'Hacktoberfest') | ||
steps: | ||
- uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
github.rest.issues.addLabels({ | ||
issue_number: context.issue.number, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
labels: ['Help Wanted'] | ||
}) | ||
move_needs_info_issues: | ||
name: X-Needs-Info issues to Need info column on triage board | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: konradpabjan/move-labeled-or-milestoned-issue@190352295fe309fcb113b49193bc81d9aaa9cb01 | ||
with: | ||
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}" | ||
project-url: "https://github.com/orgs/element-hq/projects/120" | ||
column-name: "Needs info" | ||
label-name: "X-Needs-Info" | ||
|
||
add_priority_design_issues_to_project: | ||
name: P1 X-Needs-Design to Design project board | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'X-Needs-Design') && | ||
(contains(github.event.issue.labels.*.name, 'S-Critical') && | ||
(contains(github.event.issue.labels.*.name, 'O-Frequent') || | ||
contains(github.event.issue.labels.*.name, 'O-Occasional')) || | ||
contains(github.event.issue.labels.*.name, 'S-Major') && | ||
contains(github.event.issue.labels.*.name, 'O-Frequent') || | ||
contains(github.event.issue.labels.*.name, 'A11y')) | ||
steps: | ||
- uses: actions/add-to-project@main | ||
with: | ||
project-url: https://github.com/orgs/element-hq/projects/18 | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
add_product_issues: | ||
name: X-Needs-Product to product project board | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'X-Needs-Product') | ||
steps: | ||
- uses: actions/add-to-project@main | ||
with: | ||
project-url: https://github.com/orgs/element-hq/projects/28 | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
Search_issues_to_board: | ||
name: Search issues to project board | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') | ||
steps: | ||
- uses: actions/add-to-project@main | ||
with: | ||
project-url: https://github.com/orgs/element-hq/projects/48 | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
voip: | ||
name: Add labelled issues to VoIP project board | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'Team: VoIP') | ||
steps: | ||
- uses: actions/add-to-project@main | ||
with: | ||
project-url: https://github.com/orgs/element-hq/projects/41 | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
verticals_feature: | ||
name: Add labelled issues to Verticals Feature project | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'Team: Verticals Feature') | ||
steps: | ||
- uses: actions/add-to-project@main | ||
with: | ||
project-url: https://github.com/orgs/element-hq/projects/57 | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
tech_debt: | ||
name: Add labelled issues to tech debt project | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'A-Developer-Experience') || | ||
contains(github.event.issue.labels.*.name, 'A-Documentation') || | ||
contains(github.event.issue.labels.*.name, 'A-Packaging') || | ||
contains(github.event.issue.labels.*.name, 'A-Technical-Debt') || | ||
contains(github.event.issue.labels.*.name, 'A-Testing') || | ||
contains(github.event.issue.labels.*.name, 'Z-Flaky-Test') | ||
steps: | ||
- uses: actions/add-to-project@main | ||
with: | ||
project-url: https://github.com/orgs/element-hq/projects/101 | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
element_r: | ||
name: Add Element R issues to Crypto Team board | ||
runs-on: ubuntu-latest | ||
if: > | ||
contains(github.event.issue.labels.*.name, 'A-Element-R') | ||
steps: | ||
- id: add_to_project | ||
uses: actions/[email protected] | ||
with: | ||
project-url: ${{ env.PROJECT_URL }} | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
|
||
- id: set_fields | ||
uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0 | ||
with: | ||
project-url: ${{ env.PROJECT_URL }} | ||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step | ||
field-keys: Workstream,module | ||
field-values: Element-R,web | ||
env: | ||
PROJECT_URL: https://github.com/orgs/element-hq/projects/76 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Re-fetches the Jitsi SDK and opens a PR to update it if it's different from what's in the repository | ||
name: Update Jitsi | ||
on: | ||
workflow_dispatch: {} | ||
schedule: | ||
- cron: "0 3 * * 0" # 3am every Sunday | ||
jobs: | ||
update: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
cache: "yarn" | ||
|
||
- name: Install Deps | ||
run: "yarn install --frozen-lockfile" | ||
|
||
- name: Fetch Jitsi | ||
run: "yarn update:jitsi" | ||
|
||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6 | ||
with: | ||
token: ${{ secrets.ELEMENT_BOT_TOKEN }} | ||
branch: actions/jitsi-update | ||
delete-branch: true | ||
title: Jitsi Update | ||
labels: | | ||
T-Task |
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
Oops, something went wrong.