Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
143c37c
Updated services (#6907)
m-schieder May 5, 2025
9b0cd27
Create patchnotes for 4.2.9 (#6908)
rrenkert May 5, 2025
706b044
Updated services (#6911)
m-schieder May 7, 2025
51754c1
Create patchnotes for 4.2.10 (#6913)
rrenkert May 7, 2025
ecde8fa
Updated services (#6915)
m-schieder May 12, 2025
f6c5564
Create patchnotes for 4.2.11 (#6916)
rrenkert May 12, 2025
cb77d44
Updated services (#6919)
m-schieder May 14, 2025
748010f
Updated translations (#6920)
emanuelschuetze May 15, 2025
0322c19
Create patchnotes for 4.2.12 (#6923)
rrenkert May 15, 2025
13df241
Remove milestone from pick-to-staging.yml (#6922)
rrenkert May 16, 2025
60b79e7
Create patchnotes for 4.2.13 (#6925)
rrenkert May 23, 2025
d89f7ce
Updated services (#6928)
Elblinator Jun 4, 2025
7bfe81a
Staging update 20250604
Elblinator Jun 4, 2025
fcd3bb4
Almost works?
Janmtbehrens Jun 5, 2025
f511923
Staging update 20250605
Elblinator Jun 5, 2025
4174d59
Build and Test Action
Janmtbehrens Jun 5, 2025
50ff8cf
Test
Janmtbehrens Jun 5, 2025
439b078
Test #2
Janmtbehrens Jun 5, 2025
f615418
Test #3
Janmtbehrens Jun 5, 2025
82c2910
Auth Test
Janmtbehrens Jun 5, 2025
64dbfac
Merged all Submodules
Janmtbehrens Jun 10, 2025
cc1117c
Fixed production image names and various bugs
Janmtbehrens Jun 10, 2025
3d1ab6f
Small test action fix
Janmtbehrens Jun 10, 2025
3c62d93
Staging update 20250610
Elblinator Jun 10, 2025
cfd8a0a
Staging update 20250611
Elblinator Jun 11, 2025
359d72c
Adjust Workflows
Janmtbehrens Jun 12, 2025
48e3aae
Adjust Workflows #3
Janmtbehrens Jun 12, 2025
6670973
Fetch script update
Janmtbehrens Jun 12, 2025
be17c55
Bump
Janmtbehrens Jun 12, 2025
74cb740
Remove command.sh from some Go Services
Janmtbehrens Jun 16, 2025
fb21a0c
Some more command.sh changes
Janmtbehrens Jun 16, 2025
430c02e
Dockerfile.Dev Workaround
Janmtbehrens Jun 16, 2025
f7c9bd6
Merge with upstream
Janmtbehrens Jun 16, 2025
ef8e3eb
Removing old Dockerfiles
Janmtbehrens Jun 16, 2025
3a4b4a3
Merge remote-tracking branch 'upstream/staging/4.2.14' into all-in-one
Janmtbehrens Jun 16, 2025
12e9b91
Merge with upstream
Janmtbehrens Jun 16, 2025
2192974
Go Update
Janmtbehrens Jun 16, 2025
5d2610d
Merge with main & Workflow check
Janmtbehrens Jun 17, 2025
c98c57c
Final changes
Janmtbehrens Jun 17, 2025
4986664
Create unified and standardized continuous integration workflow for e…
Janmtbehrens Jun 17, 2025
5850e5a
Small fixes, Typos and Standards
Janmtbehrens Jun 17, 2025
12ea9df
Update Submodule References
Janmtbehrens Jun 19, 2025
13d54b8
Bump
Janmtbehrens Jun 19, 2025
3efaed0
Making common workflows and actions reusable
Janmtbehrens Jun 19, 2025
c10e273
Unrequire secrets for actions
Janmtbehrens Jun 19, 2025
6d8f2f1
Moved workflows to .github
Janmtbehrens Jun 19, 2025
00e1a17
Debugging Further #4
Janmtbehrens Jun 19, 2025
9d361ba
Adding helper action to match branch name with a regex
Janmtbehrens Jun 19, 2025
9e2b32c
Test Branch Regex
Janmtbehrens Jun 19, 2025
3a44935
Test Branch Regex #2
Janmtbehrens Jun 19, 2025
a7f118a
Test Branch Regex #3
Janmtbehrens Jun 19, 2025
1abcd9d
Test Branch Regex #4
Janmtbehrens Jun 19, 2025
7a4443b
Test Branch Regex #5
Janmtbehrens Jun 19, 2025
4bc1a98
Test Branch Regex #6
Janmtbehrens Jun 19, 2025
a87d5ac
Test Branch Regex #7
Janmtbehrens Jun 19, 2025
2a154c8
Clarify that reusable workflows require a branches regex
Janmtbehrens Jun 19, 2025
242a1b1
Add Issue & PR Workflow as reusable Workflows
Janmtbehrens Jun 19, 2025
1014add
Implemented reused Workflows in all Services
Janmtbehrens Jun 19, 2025
b635a59
Make main repository use reusable workflows as well
Janmtbehrens Jun 23, 2025
e0f14d0
Bugfix
Janmtbehrens Jun 23, 2025
e7dffa8
Whitespaces removed
Janmtbehrens Jun 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/close-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: 'Close Issues'

description: 'Closes Issues'

on:
workflow_call:
inputs:
branch_regex:
description: 'Regex for the branch this workflow should trigger on'
required: true

jobs:
workflow_call:
using: "composite"
runs-on: ubuntu-latest

steps:
- uses: Janmtbehrens/OpenSlides/dev/actions/branch-regex@reusable-github-actions
with:
regex: ${{ inputs.branch_regex }}
id: extract_branch

- name: Generate access token
uses: tibdex/github-app-token@v2
if: ${{ steps.extract_branch.outputs.branch != ''}}
id: generate-token
with:
app_id: ${{ secrets.AUTOMATION_APP_ID }}
private_key: ${{ secrets.AUTOMATION_APP_PRIVATE_KEY }}

- if: ${{ steps.extract_branch.outputs.branch != ''}}
uses: octokit/graphql-action@v2.x
id: get-issues
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
with:
query: |
query getLinkedIssues($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
closingIssuesReferences(first: 100) {
nodes {
number
repository {
nameWithOwner
}
}
}
}
}
}
variables: |
owner: ${{ github.repository_owner }}
name: ${{ github.event.repository.name }}
number: ${{ github.event.pull_request.number }}

- name: Close issues
if: ${{ steps.extract_branch.outputs.branch != ''}}
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
run: |
issue_data="$(echo '${{ steps.get-issues.outputs.data }}' | jq -r '.repository.pullRequest.closingIssuesReferences.nodes[] | [.number,.repository.nameWithOwner] | @tsv')"
echo "$issue_data" | grep -v "^$" | while read number nameWithOwner; do
gh issue close "$number" -r "$nameWithOwner"
done
19 changes: 14 additions & 5 deletions .github/workflows/debug-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
on: push
on: fork

jobs:
test-job:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
run: echo "Hey"
- name: Test actions
uses: Janmtbehrens/OpenSlides/dev/actions/test-submodule@main
- uses: Janmtbehrens/OpenSlides/dev/actions/branch-regex@reusable-github-actions
with:
regex: reusable-github-.*
id: regex_match

- name: Test branch
if: ${{ steps.regex_match.outputs.match != '' }}
run: echo "Branch worked"

- name: Checks
run: |
echo "${{ steps.regex_match.outputs.match }}"
echo "reusable-github-*"
118 changes: 63 additions & 55 deletions .github/workflows/pick-to-staging.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,74 @@
name: Cherry pick staging PRs merged into main

on:
pull_request_target:
types:
- closed
branches:
- 'main'
description: 'Create PR against staging branch'

on:
workflow_call:
inputs:
branch_regex:
description: 'Regex for the branch this workflow should trigger on'
required: true

jobs:
create-pr-for-staging:
if: |
github.event.pull_request.merged == true &&
contains(github.event.pull_request.labels.*.name, 'staging')
name: Create PR against staging branch
runs-on: ubuntu-latest
workflow_call:
using: "composite"
runs-on: ubuntu-latest

steps:
- uses: Janmtbehrens/OpenSlides/dev/actions/branch-regex@reusable-github-actions
with:
regex: ${{ inputs.branch_regex }}
id: extract_branch

steps:
- name: Checkout main
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 2
- name: Checkout main
if: ${{ steps.extract_branch.outputs.branch != ''}}
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 2

- name: Fetch and checkout latest staging branch
run: |
branch=$(git ls-remote --heads origin 'staging/*' | awk 'gsub(".*refs/heads/","")' | sort -V | tail -1)
git fetch origin $branch
git checkout $branch
- name: Fetch and checkout latest staging branch
if: ${{ steps.extract_branch.outputs.branch != ''}}
run: |
branch=$(git ls-remote --heads origin 'staging/*' | awk 'gsub(".*refs/heads/","")' | sort -V | tail -1)
git fetch origin $branch
git checkout $branch

- name: Set git credentials
run: |
git config --global user.name openslides-automation
git config --global user.email openslides-automation@users.noreply.github.com
- name: Set git credentials
if: ${{ steps.extract_branch.outputs.branch != ''}}
run: |
git config --global user.name openslides-automation
git config --global user.email openslides-automation@users.noreply.github.com

- name: Cherry-pick new commit
id: cherry-pick
run: |
git fetch origin
# -m 1 to also be able to cherry-pick merge commits
git cherry-pick -m 1 ${{ github.sha }} || {
echo "error=1" >> $GITHUB_OUTPUT
git add .
git cherry-pick --continue
}
- name: Cherry-pick new commit
if: ${{ steps.extract_branch.outputs.branch != ''}}
id: cherry-pick
run: |
git fetch origin
# -m 1 to also be able to cherry-pick merge commits
git cherry-pick -m 1 ${{ github.sha }} || {
echo "error=1" >> $GITHUB_OUTPUT
git add .
git cherry-pick --continue
}

- name: Generate access token
uses: tibdex/github-app-token@v2
id: generate-token
with:
app_id: ${{ secrets.AUTOMATION_APP_ID }}
private_key: ${{ secrets.AUTOMATION_APP_PRIVATE_KEY }}
- name: Generate access token
if: ${{ steps.extract_branch.outputs.branch != ''}}
uses: tibdex/github-app-token@v2
id: generate-token
with:
app_id: ${{ secrets.AUTOMATION_APP_ID }}
private_key: ${{ secrets.AUTOMATION_APP_PRIVATE_KEY }}

- name: Create or update PR
uses: peter-evans/create-pull-request@v6
with:
token: ${{ steps.generate-token.outputs.token }}
branch: apply/commit-${{ github.sha }}
delete-branch: true
title: "[Cherry-Pick] ${{ github.event.pull_request.title }}"
body: "Triggered by commit [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})\n\n${{ steps.cherry-pick.outputs.error && 'There were conflicts during the cherry-pick. These were commited without any resolving. Please resolve them manually and push the result to this branch before merging.' || 'The cherry-pick was successful without any conflicts. You should be able to simply merge this PR.' }}"
reviewers: ${{ github.event.pull_request.user.login }}
assignees: ${{ github.event.pull_request.user.login }}
labels: picked-to-staging
milestone: 4
- name: Create or update PR
if: ${{ steps.extract_branch.outputs.branch != ''}}
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.generate-token.outputs.token }}
branch: apply/commit-${{ github.sha }}
delete-branch: true
title: "[Cherry-Pick] ${{ github.event.pull_request.title }}"
body: "Triggered by commit [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})\n\n${{ steps.cherry-pick.outputs.error && 'There were conflicts during the cherry-pick. These were commited without any resolving. Please resolve them manually and push the result to this branch before merging.' || 'The cherry-pick was successful without any conflicts. You should be able to simply merge this PR.' }}"
reviewers: ${{ github.event.pull_request.user.login }}
assignees: ${{ github.event.pull_request.user.login }}
labels: picked-to-staging
14 changes: 0 additions & 14 deletions .github/workflows/project-issue-closed.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .github/workflows/project-pull-request-closed.yml

This file was deleted.

15 changes: 0 additions & 15 deletions .github/workflows/project-pull-request-opened.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .github/workflows/project-pull-request-review-requested.yml

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/reusable-issue-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: 'Issue Actions'

description: 'Various Issue related Actions'

on:
workflow_call:
inputs:
action_type:
description: Event Action Type that triggered this workflow
required: true

jobs:
project-automation-calls:
runs-on: ubuntu-latest
secrets: inherit
steps:
- name: Issue closed
if: ${{ inputs.action_type == "closed" }}
uses: Janmtbehrens/OpenSlides/dev/actions/project-automation@reusable-github-actions
with:
resource_node_id: ${{ github.event.issue.node_id }}
status_value: "Done"
gh_app_ID: ${{ secrets.AUTOMATION_APP_ID }}
gh_app_installation_ID: ${{ secrets.AUTOMATION_APP_INSTALLATION_ID }}
gh_app_secret_key: ${{ secrets.AUTOMATION_APP_PRIVATE_KEY }}


- name: Issue opened
if: ${{ inputs.action_type == "opened" || inputs.action_type == "reopened" }}
uses: Janmtbehrens/OpenSlides/dev/actions/project-automation@reusable-github-actions
with:
resource_node_id: ${{ github.event.issue.node_id }}
status_value: "Backlog"
gh_app_ID: ${{ secrets.AUTOMATION_APP_ID }}
gh_app_installation_ID: ${{ secrets.AUTOMATION_APP_INSTALLATION_ID }}
gh_app_secret_key: ${{ secrets.AUTOMATION_APP_PRIVATE_KEY }}
Loading
Loading