Code Monkey home page Code Monkey logo

gh-publicize's Introduction

Nice to meet you! πŸ‘‹

About me πŸ§‘β€πŸ’»

What are some honest, unfiltered things about you?
What drives you nuts?
  • Disorder, conflict, confusion, and ambiguity
  • Coordination and communication without visuals, documentation, roadmaps, agendas, and/or setting expectations
  • Inconsistency without exception and reasoning
What are your quirks?
  • I tend to step in and potentially overstep when I perceive disorder, conflict, confusion, or ambiguity; please believe this comes from a good place.
  • I am a very visual person πŸ–ΌοΈ and might need to sketch or diagram problems to understand them better.
  • I might jokingly πŸ˜† say I hate all programming languages or tools as a way of staying detached; they all have strengths, weaknesses, and idiosyncrasies.
  • I believe writing documentation or communications takes as much thought and effort as writing code; sometimes it takes time
What are some things that people might misunderstand about you that you should clarify?
  • Sometimes my πŸ€” face gets confused with my 😠 or 😑 face; being a πŸ‘¨β€πŸ¦² makes facial features more distinct but πŸ™‡ for patience

About my colleagues πŸ‘©β€πŸ’Ό

What qualities do you particularly value in your colleagues?
  • Proactive in communication and taking action
  • Prepared for events and discussions
  • Celebrate successes, achievements, and good fortunes of others
  • Genuine and introspective about who they are, where they come from, and what truly matters most to them
What do you wish colleagues didn’t do?
  • High-level planning and coordination efforts without data and/or roadmaps
  • Asking for help without relevant information provided upfront
How can people earn an extra gold star with you?
  • Be genuine celebrating others!
  • Be persistent in seeing a question answered or a problem solved!
  • Present short and long term solutions upfront; a majority of hard problems need both and this is often a cause of talking past one another!
  • Take and own responsibility actively!

About my interactions 🀝

How do you coach people to do their best work and develop their talents?
  • Celebrate others' efforts in channels / venues where their leaders can see and recognize it (Slack, formal accolade processes, etc)
  • Get to know colleagues (backgrounds, experiences, values, and aspirations) and include them in discussions and activities around them
  • Partner together on activities, training one another up in a safe space
  • Spend 1:1 time asking for feedback
What’s the best way to communicate with you?
  • Visuals are better than documentation, both are better than verbal knowledge sharing
  • Provide context, agendas, and any expectations prior to meetings so I can actively participate
  • Tell me how much time you need, so I can block that off for you especially; I prefer to be present for discussions as a courtesy for you
What’s the best way to convince you to do something?
  • Actively ask and engage me, give me space to ask questions
  • Demonstrate it is something everyone on the team and/or organization is doing
  • Affirm this is what will make me successful and celebrated
  • If there isn't data for this, then explicitly ask me for trust; this works especially when reciprocated if I need to ask for trust, too
How do you like to give feedback?
  • For feedback that might be potentially sensitive; personal; or emotional, I will ask for 1:1 time on video and might follow up with additional context after the conversation
  • I prefer giving feedback around the results of work and other external things as I try to disassociate people from the work done
  • I try to ask lots of questions because I really do want to understand; sometimes it’s a lot because situations are complex
How do you like to get feedback?
  • Help me feel like we collectively have something to improve and that we are in it together
  • Help me feel heard and understood even if you can't sympathize or empathize
  • Please reinforce the good things as much as improving others

gh-publicize's People

Contributors

andyfeller avatar tspascoal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

gh-publicize's Issues

Spike: Including source repo `bin` in path for execution duration

Overview

git-xargs requires fully qualified paths to scripts used because it is executing scripts and commands in the context of temporary directories for targeted repos. As the idea of using gh-publicize with scripts that are in the source repository makes this a catch-22, it might work if gh-publicize updates PATH with a directory from the source repository.

Action Items

Tasks

Implement CI / CD workflows

Overview

gh-publicize needs essential automation workflows for testing changes during PRs and releasing new versions of the extension.

As GitHub CLI extension scaffolding doesn't have an opinion on script-based she'll extensions, we will have to figure this out. Likely should leverage https://github.com/koalaman/shellcheck and possibly markdown linter, the result could be contributed back to GitHub CLI team.

Action Items

Tasks

Update library helper to preserve file mode in copying files

Overview

Thanks to feedback from @slmingol, it appears that copyFile helper function does not preserve the existing file's mode when copying it to the target repository:

function copyFile {
local SOURCE_FILE="$1/$2"
local TARGET_FILE="$2"
if test -f "$SOURCE_FILE"; then
echo "Creating directory and copying for target file '$TARGET_FILE'"
mkdir -p "$(dirname "$TARGET_FILE")"
cp "$SOURCE_FILE" "$TARGET_FILE"
else
echo "Skip copying file; source file '$SOURCE_FILE' does not exist"
fi
}

Two suggestions on additional flags to incorporate have been offered:

  1. -p flag
  2. -a flag
man cp relevant portions

SYNOPSIS
     cp [-R [-H | -L | -P]] [-fi | -n] [-alpsvXx] source_file target_file
     cp [-R [-H | -L | -P]] [-fi | -n] [-alpsvXx] source_file ... target_directory
     cp [-f | -i | -n] [-alPpsvx] source_file target_file
     cp [-f | -i | -n] [-alPpsvx] source_file ... target_directory

DESCRIPTION

     ...

     -P    No symbolic links are followed.  This is the default if the -R option is specified.

     -R    If source_file designates a directory, cp copies the directory and the entire subtree connected at that point.  If the source_file ends in a /, the contents of the directory are copied rather than the directory itself.  This option also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files.  Created directories have the same mode as the corresponding source
           directory, unmodified by the process' umask.

           In -R mode, cp will continue copying even if errors are detected.

           Note that cp copies hard linked files as separate files.  If you need to preserve hard links, consider using tar(1), cpio(1), or pax(1) instead.

     -a    Archive mode.  Same as -RpP options. Preserves structure and attributes of files but not directory structure.

     ...

     -p    Cause cp to preserve the following attributes of each source file in the copy: modification time, access time, file flags, file mode, user ID, and group ID, as allowed by permissions.  Access Control Lists (ACLs) and Extended Attributes (EAs), including resource forks, will also be preserved.

           If the user ID and group ID cannot be preserved, no error message is displayed and the exit value is not altered.

           If the source file has its set-user-ID bit on and the user ID cannot be preserved, the set-user-ID bit is not preserved in the copy's permissions.  If the source file has its set-group-ID bit on and the group ID cannot be preserved, the set-group-ID bit is not preserved in the copy's permissions.  If the source file has both its set-user-ID and set-group-ID bits on, and either the user ID or group ID cannot be preserved, neither the set-user-ID
           nor set-group-ID bits are preserved in the copy's permissions.

Thoughts

Since copyFile method is genuinely only intended for files and not directories, -p flag in this situation seems more appropriate than -a.

Action Items

Tasks

Add `--hostname` support for GHES use cases

Overview

In order to support GHES users, gh-publicize needs a --hostname flag that will set GH_HOST environment variable,
affecting subsequent gh commands. This is something I did in andyfeller/gh-repo-export but left off given I
primary work on GHEC.

https://github.com/andyfeller/gh-repo-export/blob/1ed7b1b5c849a043f5cead2f9c9a16a728b79ce2/gh-repo-export#L107-L109

Big thanks to @tspascoal for the feedback!

Action Items

Tasks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.