Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agent spec process #304

Merged
merged 21 commits into from
Aug 11, 2020
Merged

Agent spec process #304

merged 21 commits into from
Aug 11, 2020

Conversation

felixbarny
Copy link
Member

@felixbarny felixbarny commented Jul 29, 2020

Let's make this PR an example of the process it describes.

@gregkalapos would you volunteer to be the reviewer of the draft?

supersedes #192

The agent table, not very useful in this case as there's nothing to implement but still useful for showcasing the process this PR proposes.

Agent Milestone Link to agent implementation issue
.NET n/a nothing to implement
Go n/a nothing to implement
Java n/a nothing to implement
Node.js n/a nothing to implement
PHP n/a nothing to implement
Python n/a nothing to implement
Ruby n/a nothing to implement
RUM n/a nothing to implement

docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Show resolved Hide resolved
@gregkalapos
Copy link
Contributor

@gregkalapos would you volunteer to be the reviewer of the draft?

Sure, let's do this!

@gregkalapos gregkalapos self-requested a review July 31, 2020 10:53
Copy link
Contributor

@gregkalapos gregkalapos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The draft looks good to me 👍

@felixbarny
Copy link
Member Author

I've created a bash script to batch-create agent issues using https://github.com/cli/cli

#!/bin/bash

set -ex

AGENTS=()
while [[ "$#" -gt 0 ]]; do
    case $1 in
        --all-agents) AGENTS=(dotnet go java nodejs php python ruby rum-js); ;;
        -a|--agent) AGENTS+=("$2"); shift ;;
        -t|--title) title="$2"; shift ;;
        -b|--body) body="$2"; shift ;;
        -m|--milestone) milestone="$2"; shift ;;
        *) echo "Unknown parameter passed: $1"; exit 1 ;;
    esac
    shift || true
done

: "${AGENTS:?Variable not set or empty}"
: "${title:?Variable not set or empty}"
: "${body:?Variable not set or empty}"
: "${milestone:?Variable not set or empty}"

echo $AGENTS

for agent in "${AGENTS[@]}" ; do
  echo $agent
  gh repo clone elastic/apm-agent-$agent || true
  pushd apm-agent-$agent
  gh issue create --title "$title" --body "$body" --milestone $milestone
  popd
done

One caveat is that the milestone has to exist in the agent repo. It also clones all repos the first time it's executed.

felixbarny added a commit that referenced this pull request Jul 31, 2020
Moved to separate PR elastic#306
.github/ISSUE_TEMPLATE/agents-discussion.md Outdated Show resolved Hide resolved
.github/ISSUE_TEMPLATE/agents-discussion.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Outdated Show resolved Hide resolved
docs/agents/spec-process.md Show resolved Hide resolved
docs/agents/spec-process.md Show resolved Hide resolved
felixbarny added a commit that referenced this pull request Aug 5, 2020
@felixbarny felixbarny marked this pull request as ready for review August 5, 2020 14:26
@felixbarny felixbarny requested review from a team as code owners August 5, 2020 14:26
@felixbarny
Copy link
Member Author

felixbarny commented Aug 5, 2020

I've marked this PR as ready for review now. This means one more agent approval and one PM approval is required. After that, everyone's got 1 week to object by requesting changes. After that the PR will be merged and the changes are effective.

Copy link
Contributor

@basepi basepi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks excellent. One request below. But overall I'm very excited about this process change, it will make it much clearer when a spec is final.

docs/agents/spec-process.md Outdated Show resolved Hide resolved
Copy link
Member

@axw axw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff!

docs/agents/spec-process.md Outdated Show resolved Hide resolved
Co-authored-by: eyalkoren <41850454+eyalkoren@users.noreply.github.com>
docs/agents/spec-process.md Outdated Show resolved Hide resolved
Copy link
Contributor

@mikker mikker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it 👍

Copy link

@nehaduggal nehaduggal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

++ for this proposal. I'd suggest adding another table that identifies if we plan to implement a change/addition to all other agents as a part of the spec PR. It'll make it easy to track if all/some agents plan to implement that feature(with a rough milestone) or if its not applicable at all.

As the total deadline is 1 week, a reminder after 2 days doesn't seem sensible
@felixbarny
Copy link
Member Author

We have approval from at least two agents and from PM now. So normally, there would be one more week for agent teams to object.

However, since all agent teams have already approved the PR, I think we can proceed.

I'll merge the PR tomorrow so this is the last call for objections.

@felixbarny felixbarny merged commit a92efda into elastic:master Aug 11, 2020
@felixbarny felixbarny deleted the agent-spec-process branch August 11, 2020 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants