►
From YouTube: Demo Days - Browser, Camera, Action
Description
Ian Marsh, Solutions Engineer, provides an intro to Codespaces with an optional code-along. Explore GitHub’s browser-based integrated development environment and write a fun action using JavaScript (with a meme or two). After building the Action, we'll upload build artifacts, commit back into the repository, and interact with GitHub through the REST-based API.
Learn more about DevOps here: https://github.com/learn/devops
A
Hello
good
morning,
good
afternoon,
good
evening,
good
night,
wherever
you
are
and
thank
you
for
joining
us
on
today's
awesome
episode
of
demo
days
from
github
enterprise,
totally
excited
to
be
here
with
you.
While
you
give
up
some
of
your
time
with
me
on
friday,
today's
theme
browser
camera
action,
we're
gonna
be
doing
some
exciting
stuff
with
actions
believe
it
or
not,
right
from
in
the
browser
using
a
sneak
peek
at
github's
cloud
development,
environment
code
spaces.
A
Before
we
go
any
further,
I
just
going
to
introduce
some
folks
that
are
helping
me
out
today
manning
the
chat
channel,
which
I
am
also
looking
at
on
the
side
here
is
my
colleague
and
friend,
andrew
mccoy,
also
known
affectionately
as
moose.
So,
if
you
hear
me
shout
moose,
that's
not
anything
to
be
scared
of
he's,
just
in
background
helping
us
out.
We
also
have
the
privilege
to
have
with
us
matthew
isabel
who
is
the
product
manager
for
codespaces.
A
So
again,
super
exciting
things
to
share
with
you
today,
looking
forward
to
being
able
to
dig
into
code
spaces
and
do
a
little
bit
more
with
actions
if
you've
been
watching
the
series
you'll
have
seen
some
of
my
friends
and
colleagues
again
from
the
team
in
solutions
engineering,
I
demonstrate
the
capabilities
of
actions
with
regards
to
ci
cd
and
also
with
plugging
into
github
advanced
security,
so
very,
very
cool.
A
What
we
haven't
been
able
to
show
you
right
now
or
up
until
yet
is
actually
how
we
create
actions,
how
we
might
write
actions
and
how
we
might
use
them
to
interact
not
just
with
the
development
pipelines,
but
also
with
other
parts
of
github
issues,
projects
prs
and
those
kind
of
things.
Now
it's
going
to
be
a
little
bit
of
fun.
This
is
a
new
medium
for
me.
A
Usually
twitch
involves
you
know,
a
controller
that
has
two
sticks,
not
all
of
this
keyboard
stuff
for
me,
but
I
am
cool
for
us
to
do
a
code
along
today
with
a
little
bit
of
back
backseat
coding.
If
that's,
what
folks
want
to
do
so,
we
have
set
up
for
you
folks,
a
repository
which
you
can
generate
a
template
or
use
to
generate
a
repo
from
a
template,
and
you
can
code
along
with
that
before
we
dive
straight
into
stuff.
A
I
want
to
humanize
this
a
little
bit
and
share
perhaps
a
little
bit
about
myself
and
give
you
some
indication
of
what
I'm
about
so
I'm
gonna
share
my
screen
here
and
you
can
actually
check
this
out
on
getup.com
too
forward
slash,
I
dash
marsh.
We
have
a
new
readme
capability
which
hang
on.
We
have
a
new
readme
capability
which
is
plugging
in
your
own
repo,
so
username
forward,
slash
username
is
the
repo
and
it
plugs
whatever
you
put
into
that
pretty
much
straight
into
your
profile
page.
A
So
I
just
want
to
get
a
quick
thumbs
up
from
from
moose
and
folks.
You,
you
all
see
my
share.
Okay
before
we
do
go,
get
any
further
excellent,
fantastic!
Thank
you
all
right.
So
hang
on
a
second
that
was
not
supposed
to
happen
there.
You
go
a
little
glitch,
just
a
png
right,
so
it's
been
a
struggle
for
a
lot
of
people.
A
I
think
has
been
locked
in
in
home
and
unable
to
get
out
and
I
was
able
to
get
out
a
little
while
ago,
somewhere,
local
and
I
just
wanted
a
picture
to
kind
of
inspire,
some
of
us
to
think
a
little
bit
more
about
being
outside
the
office,
and
this
is
what
came
to
mind
as
I
was
searching
for
things
to
kind
of
share
a
little
story
with
you,
so
you
might
just
get
out
onto
a
local
river,
just
massively
picturesque,
making
you
glad
to
be
alive
really.
A
I
was
out
there
with
my
wife,
you
can
see
in
this
picture
here
and
we're
just
paddling
it's
about
two
miles,
just
having
a
bunch
of
fun
out
in
the
river,
and
you
can
see
it's
such
a
beautiful
day,
and
I
I
just
so
grateful
that
we
have
this
opportunity
to
be
you
know
out
and
about
and
taken
advantage
of
of
the
things
that
are
nearby.
A
This
is
what
it's
really
been
like
right.
I
don't
just
have
zoom
fatigue.
I
have
butt
fatigue.
I
have
chair
fatigues
like
everything
related
is
pretty
fatigued
and
this
this
this
bad
boy
needs
to
be
changed
out
for
sure.
So
my
plan
is
to
swap
this
chair
out,
given
all
the
new
capabilities
that
github
is
providing
me
with
when
I'm
when
I'm
working
remotely
here,
I'm
gonna
swap
this
chair
out
for
this
chair
here,
I
think.
That's
you
know.
A
Aspirational
coding
from
from
paul
is
where
I
want
to
be
also.
We
had
some
life
events
just
from
the
share,
and
I
think
it's
been
difficult,
particularly
for
any
of
you
out
there
with
seniors
or
young
children
in
education.
It's
been
difficult,
we're
gonna,
we're
gonna
need
to
change
the
way
that
we
interoperate
not
only
at
work
but
also
at
school,
and
so
I've
been
trying
to
get
my
kids
into
coding
and
github,
and
you
know
helping
them
with
their
remote
shares
and
and
working
online.
A
I
think
that's
going
to
be
super
important
moving
forwards
so
again,
just
some
fun
pics
from
the
fam.
This
is
where
I
really
wanted
to
get
to
is,
and
I'd
love
to
see
in
the
chat.
If
anybody
recognizes
what
this
is-
and
I
can't
actually
see
the
chat
right
now,
because
all
right
moose
you
have
to
feed
me
the
chat
I
can't
sit
on
my
screen-
no
worries
nothing.
Yet,
let's
see
it's
going
back
a
ways:
it's
going
backwards.
A
So
this
is
a
screenshot
from
an
old
game
on
the
bbc
model
b
32k,
which
is
where
I
started
actually
writing
code.
You
know
nearly
36
years
ago
as
it
was.
This
is
a
game
called
elite
and
it
actually
got
a
revamp.
A
It
is
revamped
for
most
major
consoles,
including
xbox
and
playstation
4
as
elite
dangerous,
and
the
reason
I
wanted
to
bring
this
is
because
it's
a
really
great
parallel
to
you
know
what
we
started
with
out
in
the
day,
what
we
managed,
with
and
and
the
state
of
technology
20
years
ago,
on
pre-internet
pre-github
and
the
things
that
we
did
back
then
and
how
these
things
have
moved
on
and
become
much
fuller
experiences,
much
richer
and
and
more
engaging
talking
of
coding
experiences.
A
A
Is
that
phrase
I
was
given
this
by
a
family
friend
35
years
ago
and
I've
kept
it
as
a
memento
of
my
journey
since
and
that
really
ties
in
in
some
small
way
to
I
think
github's
journey
and
the
massive
massive
movement
that
we've
had
just
in
the
last
few
years
for
enterprise,
in
terms
of
the
wealth
of
features
that
we've
been
bringing
to
the
table,
the
things
that
we've
done
in
security-
and
you
know
the
way
that
that's
been
received
by
a
great
community
out
there.
A
So
we're
gonna
use
some
of
that
fantastic
technology.
And
hopefully
I'm
gonna
be
able
to
show
you
in
some
detail
a
sneak
preview
today
of
code
spaces,
again
a
privilege
to
have
matthew
isabel
on
the
chat
to
answer
your
questions
about
code
spaces,
the
cloud
development
environment
and
all
things
related
to
that
you
can
most.
Can
you
take
the
uri
here
for
folks
and
just
drop
that
in
the
chat?
A
You
can
code
along
with
me
on
this
repository.
I'm
gonna
use
codespaces
because
I
have
access
to
it,
but
you
are
most
likely
going
to
use
vs
code
or
some
other
tool
of
your
choice
to
work
in
your
repository.
I've
built
this
as
a
template,
so
you
should
and
we
can
walk
through
it
in
a
second.
You
should
be
able
to
click
on
the
user's
template
and
it'll
provision
out
a
repo
for
you
to
work
in.
Obviously,
then
clone
that
and
work
it
in
your
own
editor.
A
I'm
assuming
that
the
folks
on
this
call
that
want
to
participate
on
the
stream
want
to
participate,
have
some
basic
knowledge
of
git
or
understand
actions
and
how
to
you
know,
commit
and
do
things
like
that,
if
not
there's
some
starter
material
in
that
link,
we
can
go
right
to
the
bottom
right.
Apologies
for
the
scroll
on
the
screen
share
there's
a
bit
to
get
through
and
you
can
see,
there's
information,
docs,
tutorials
and
lots
and
lots
of
stuff.
A
A
First
of
all,
I
we
might
honestly
want
to
be
able
to
upload
some
build
artifacts
to
a
location
that
we
can
get
to
in
in
the
repo.
So
that's
a
thing
we're
going
to
do
all
right.
Secondly,
I
think
a
lot
of
folks
will
want
to
be
able
to
commit
back
into
the
repository.
So
when
we're
taking
some
information
and
working
with
it
inside
of
our
action,
we
want
to
be
able
to
put
that
back
into
the
repo
that
we
were
working
with.
That's
a
pretty
common
request.
A
A
Finally,
we're
going
to
kind
of
look
at
the
interaction
with
github
through
the
api,
and
that
is
actually
done
through
the
rest
based
api
documentation.
Obviously,
at
the
end
there,
if
you
want
to
so
we're
going
to
build
an
action
using
javascript
node,
I'm
going
to
do
it
in
codespaces
and
show
off
some
of
that
stuff,
and
hopefully
you
will
be
able
to
follow
along
as
we
go,
there's
a
quick
link
here
for
codalong
resources.
A
So
if
you
don't
have
npm
and
node
installed,
you
can
head
along
and
do
that
right
now,
along
with
vs
code
and
some
other
things,
so
click
ahead
and
go.
I
am
going
to
switch
angles
and
we
will
get
straight
to
it.
Please
let
me
know
if
any
questions
come
up
because,
like
I
say
for
some
reason,
I
cannot
see
the
chat.
B
I
shall
I'm
keeping
myself
on
me
if
I
stop
pulling
the
camera
off
for
you,
but
I
will
jump
off
and
ask
questions
as
needed.
Fabulous.
A
Okay,
so
I'm
gonna
go,
show
you,
I
guess
what
the
end
result
is.
Gonna
look
like,
so
you
know
what
we're
aiming
at.
A
So,
by
clicking
on
this
new
template
button,
you'll
see
I'm
giving
the
opportunity
here
to
create
a
new
repo.
Dd
run,
live
that's
guaranteeing
right,
so
live
run
with
code
spaces.
A
A
You
can
basically
just
grab
these
copy
and
paste
them
into
the
appropriate
file
for
the
most
part,
and
I'm
going
to
talk
you
through
what
they're
doing
and
why
they're
doing
it.
So
we
know
exactly
what's
going
on
and
it's
not
just
a
copy
past
the
exercise
for
us
today,
all
right.
So
again,
this
is
probably
one
of
the
really
really
cool
bits.
You'll
see
here
that
there
is
in
fact
a
dev
container
or
dev
container
folder
in
my
root.
A
This
is
a
secret
little
gem
that
allows
me
to
configure
a
one-click
cloud
development
environment,
also
known
as
code
spaces.
In
here
there
are
scripts,
there's
a
docker
file
description
that
basically
describes
the
underlying
docker
container.
That's
used
to
build
my
visual
code,
codespace's
environment.
A
It
gives
me
the
opportunity
to
manipulate
my
all
of
my
dot
files,
a
bunch
of
preferences-
and
you
can
see
here-
I've
added
some
extensions
in
for
working
with
markdown,
for
pretty
printing
for
linting
and
and
integrating
and
interacting
with
github
actions.
So
a
lot
of
fun
here.
What
this
means
is
that
anybody
clicking
on
the
code
button
and
launching
a
code
space
will
be
provisioned
with
that
environment.
A
And
the
the
reason
that
is
so
powerful
is
because
you
know
like
most
folks,
you
will
have
been
some
projects
before
and
you
will
have
been
faced
with
a
readme
that
is
not
dissimilar
to
this.
Maybe
you
have
some
of
your
own
internal
projects
whereby
there's
a
really
huge
readme
and
that's
not
even
the
exercise.
That's
not
even
the
challenge
of
what
you're
trying
to
do.
A
It's
super
difficult
to
standardize.
I
think
everybody
at
some
point
on
the
on
the
chat
must
definitely
have
used
the
works
on
my
laptop
phrase
or
emoji,
we're
so
used
to
that.
You
know
difference
of
subtle
differences
between
environments,
and
this
just
destroys
that
straight
away.
So,
like
any
container,
that's
going
to
take
a
minute
to
build.
A
So
if
you
completely
shut
down
your
laptop
or
fire
that
up
again,
it's
going
to
take
a
little
while
to
boot
it
up,
you
can
see
it
building
in
the
background
here
and
whilst
it's
doing
that,
I
should
be
able
to
show
you
what
the
result
is
of
our
build.
So,
like
I
say,
we're
going
to
have
some
fun
with
this
today
and
build
an
interaction
with
an
issue
you'll
see.
I
have
workflow
just
the
one
main
file
all
right.
It's
not
particularly
sophisticated!
A
A
A
A
A
If
you
saw
any
of
those
kevin,
would
have
shown
you
the
triggers
that
cause
workflows
to
run
we're
looking
specifically
at
ones
related
to
issues
and
pushing
right
now
and
you'll,
see
that
this
has
fired
off
our
workflow
and
giving
us
back
a
little
hot
lifting
that
joke
to
get
to
get
us
rolling
on
the
day
again,
not
hugely
practical,
that's
not
the
point
of
today,
but
what
it's
showing
is
the
ability
for
us
to
interact
with
programmatically
in
a
bot
driven
fashion
with
the
workflow
element
of
github,
so
stretch
this
a
little
bit
further.
A
Hopefully
you
can
think
about
the
idea
of
messaging
folks
based
on
label
changes,
I
maybe
integrating
something
that
provides
more
direct
feedback
about
the
state
of
an
issue
when
it's
in
triage
there's
any
number
of
workflow
things
that
you
can
now
open
up
to
your
community,
because
you're
able
to
interact
with
them
in
an
automated
way
through
issues.
So
this
is
super
super
powerful
and
just
one
example
of
the
the
kind
of
things
you
can
do.
A
B
So
ian
excuse
me
had
a
couple
questions
going
on.
I
had
asked
folks
how
long
it
takes
to
set
up
environment
had
an
answer
about
a
day
and
then
about
the
engine
it's
built
on.
Was
it
built
code?
Space
is
built
on
using
monaco
the
same
one
that
uses
vs
code
and
matthew
was
able
to
just
answer
that
one
for
folks
it
it
is,
but
it's
also
taking
that
to
another
level
as
as
you're
gonna
go
further
and
show
you
can
run
debug
build
test
interact
with
extensions.
B
A
Going
to
go
drop
into
that
around
about
right
now,.
B
Awesome
and
then
probably
a
lot
of
folks
looking
to
answer
this
one,
I
don't
think
ian
or
I
have
the
permission
on
this
one
but
matthew-
have
some
folks
wondering
about
what
the
beta
list
is.
Looking
like
these
days,.
A
Oh
okay!
Well
I
can.
I
can
speak
to
that
briefly.
In
terms
of
I
can
tell
folks.
Let
me
just
switch
this
around
a
little
bit.
I
can
tell
folks
that
I
at
the
bottom
of
the
page
we
have
the
sign
up
link
for
the
beta
matthew
can
elaborate
on
how
we're
working
through
that
right
now
I've
been
told
a
launch
date
of
october
19th
for
for
enterprise,
but
that
again
may
be
speculative,
so
matthew.
Please
yeah
absolutely
keep
us
honest
and
correct
on
that
in
the
in
the
chat.
A
Okay,
so
you
can
see
on
my
screen
that
my
code
space
has
fired
up
and
you
can
already
see
the
eslint
extension
is
asking
me
if
I
want
to
allow
it
to
operate
on
my
code,
and
I
absolutely
do
that's
great.
That's
just
one
of
the
extensions
that
you
saw
in
that
dev
containers
json
file
that
I've
pre-populated
into
this
space
right
so
rather
than
having
to
go
in
and
manually,
add
my
extensions
or
you
know,
bring
in
personal
extensions
through
syncing.
A
I've
actually
got
these
extensions
installed
by
the
virtue
of
the
dev
container
specifications
in
the
repository.
So
again
that
helps
you
in
your
project
create
a
very
controlled,
very
consistent
environment
that
doesn't
take
any
kind
of
setup,
and
you
know
from
where
we
are
right.
Now
you
can
be
doing
this
on
a
surface
on
an
ipad
on
you
know
anything
with
an
off-screen
real
estate
that
can
connect
to
a
browser
is
probably
going
to
work
fantastically
all
right.
A
So
if
I
go
and
just
open
up
our
instructions
as
well,
then
we
can
get
crack
like
okay,
so
step
one
just
do
a
simple
workflow.
We
can
do
that
in
code
spaces,
or
we
could
do
that
directly
in
the
ui.
A
Okay,
so
we'll
have
a
look
at
doing
this
two
ways
so
inside
of
the
ui,
when
you
click
on
actions
for
the
first
time,
you
will
be
presented
with
this
interface,
so
this
is
super
helpful
if
you're
creating
an
action
for
an
existing
project,
and
you
have
an
idea
of
the
kind
of
technology
you're
going
to
use
and
there's
a
ton
of
templates
here
that
have
been
built
out
by
the
community,
some
of
them
by
microsoft.
Some
have
been
contributed
by
other
organizations.
A
A
A
And
you'll
notice
that
this
is
filtering
here
on
a
series
of
events,
so
a
couple
of
things
to
point
out
in
this
in
this
interface
and
we'll
see
it
also
in
code
spaces
in
a
second
is:
there
is
some
support
here
for
the
different
types
of
events
you
can
see.
We've
got
an
intellisense
that
helps
inform
you
as
to
what
the
different
things
are
that
we
can
look
at
and
on
the
right
hand,
side
you'll
see
marketplace
actions
that
we
can
search
for.
A
So
that's
that
you
know
wonderful
community
of
actions
that
we've
got
out
there
already
plus
documentation.
So
if
you
are,
you
know,
like
me,
occasionally
a
little
bit
sparring,
you
need
a
reminder:
there's
some
helpful
tips
and
tricks
on
the
right
hand,
side
to
show
you
how
to
do
different
things
inside
of
your
workflow.
A
A
Live
test,
I
don't
know
if
that
kills
it
one
and
we
will
propose
a
new
file.
A
At
this
point,
we
have
demo
days
action,
javascript
is
in
place,
it
hasn't
been
triggered
yet
because
it's
only
just
been
uploaded,
but
as
we
work
through,
I'm
hoping
we'll
see
as
we
commit
again
onto
that
test
branch
it'll
trigger
our
workflow
and
we'll
see
something
show
up
here
for
us
to
work
with.
Okay,.
A
So
back
in
our
code
space,
you
can
see
it's
pretty
difficult
to
see
right
at
the
bottom.
Here
little
little
tiny,
tiny
you'll
see
I
can
sync
my
branch
and
my
visual
visual
studio
code
code
spaces
window
with
what's
actually
on
github.com.
So
now
you
see
that
I
broke
down
some
of
the
stuff
that
we've
had.
A
And
we've
got
the
images
and
we've
got
the
file.
We've
got
the
readme
that
we're
looking
at
here
and
we
also
have
our
main.yml,
so
here's
our
workflow
all
right
and
we
can
see
that
we
actually
have
integrated
with
that
and
extension.
Let
me
show
you
three
extensions
piece,
so
I
have
all
of
these
extensions
included,
including
the
yamo
parser
for
github
actions,
so
this
will
help
us
stay
tight
on
what
we're
doing
in
here
this
one
again,
this
is
going
to
echo
hello
world.
A
A
A
A
And
you
knew
they'd
be
the
curse
of
a
demo
somewhere
at
some
point,
I'm
expecting
to
see
something
in
here
moves
we
got
any
twitch
along
coders
that
give
me
a
heads
up
on
what
I'm
missing.
B
A
A
I
am
not.
This
is
all
super
basic
stuff,
so
it's
just
basic
stuff,
so
it
could
even
get
cooler
well,
quite
possibly
quite
possibly
I'm
just
going
to
change
this
to
the
test
and
we
will
create
a
new
branch
called
test.
I
think
and
see.
If
that's
going
to
help
me.
I
definitely
tried
this
out
earlier
and
it
was
working
just
fine.
A
A
A
A
There
we
go
huzzah,
that's
what
we
wanted
to
see.
So
I'm
not
sure
maybe
my
branch
matching
regex
was
off
there.
We
actually
have
our
first
workflow
running
fantastic
good.
So,
let's
hope
that's
the
last
glitch
began
as
you
can
see,
it
picks
up
the
name,
the
title:
that's
the
job
name
that
we
saw
defined
in
the
yaml
definition
and
we
have
a
script
that
is
run
on
this
container.
A
So
this
container
is
also
spotify
specified
as
part
of
the
runner
we're
using
ubuntu-
and
you
know
all
of
the
tools
you
might
expect
for
standard
build
are
included
on
that
image.
A
We're
going
to
extend
that
now,
as
we
push
into
building
a
javascript
action
to
extend
the
functionality
with
a
language
that
we're
familiar
with
right,
javascript
and
node
super
common
super
popular
and
very
easy
to
get
the
hangout
for
integrating
with
actions
so
step
one,
please
to
say
we
have
that
checked
off
and
we'll
get
a
little
bit
more
complicated
as
we
go
down.
Let's
kill
this
one
out
of
the
way.
A
Okay,
so
we're
going
to
leave
that
there
and
scroll
down
a
little
bit
here
so
step,
two
we're
going
to
introduce
the
action.yaml
file
and
that's
going
to
define
our
action
that
we're
building
the
workflow
itself
is
just
going
to
act
as
a
place
for
us
to
to
drive
that
action
and
test
it
out,
and
we
could
have
used
an
external
repository,
another
repository
to
bring
it
in
and
drive
it
as
a
test.
But
this
is
clearly
the
simplest
and
easiest
way
to
do
it
in
one
place.
A
A
A
Z,
shell
terminal-
that
gives
me
a
little
more
room
to
work
with
for
this
demo,
and
so
I'm
gonna
do
that
and
you
can
see
that
I've
also
got
some
nice
colorization
on
there
as
well
through
through
some
nice
dope
files
hacks.
So
we're
running
on
our
test
branch
right
now
and
I'm
gonna
stay
there
for
the
time
being
because
it
worked
really
nicely-
and
I
will
now
put
in
my
commands,
so
I'm
going
to
initialize
this
repository
as
a
node
project,
I'm
going
to
accept
the
defaults.
A
Obviously
there's
going
to
be
some
bits
and
pieces
missing
from
that,
but
for
demo
purposes
we're
not
too
concerned.
So
that's
step
one
and
then
I'm
gonna
head
and
manually
install
these
two
pieces
because
they
require
me
to
do
so.
If
I
want
to
interact
as
part
of
an
actions
flow
so
install
like
that,
we've
got
a
show
of
hands
moose
on
the
chat.
There
is
to
anybody
that's
actually
coming
along.
They
might
actually
be
further
along
with
me
at
this
point.
A
B
A
All
right,
and
so
one
of
the
things
that
we
can
see
here
is
now
we
brought
in
a
whole
bunch
of
node
modules.
You
don't
have
to
build
it.
This
way,
I'm
going
to
build
it
this
way,
because
I'm
being
lazy,
but
you
can
actually
build
a
dist,
wrap
up
all
those
modules
and
just
push
the
one
file
into
the
repository
for
ease
and
convenience.
A
A
Just
do
a
quick
look
at
how
things
see
so
here
we've
got
the
power
flight.
If
you're
a
command
line,
git
fan,
then
you
can
go
for
it
here.
You
don't
have
to
use
the
ui.
We've
got.
Obviously
you've
got
so
many
different
ways
of
interacting
with
github.
You've
got
the
desktop.
You've
got
get
cli
newly
released.
You've
got
git
batches,
a
whole
ton
of
ways.
A
A
A
A
We're
going
to
need
a
simple
index
file,
no
criticism
on
the
code.
Please
I'm
not
a
no
developer.
I
tried
to
keep
it
reasonably
simple
and
straightforward
needs
to
follow,
but
I
am
definitely
not
the
world's
greatest
coder,
so
I
am
going
to
go
to
my
files
and
I'm
going
to
add
a
new
one,
not
under
that,
though,.
A
A
There
all
right
copy
paste
and
save
it.
Okay,
so
again,
very
simply
put
this
is
going
to
do
a
console
log
of
I
don't
know
if
we
have
a
participant
on
that,
that's
interested
in
being
named
and
shown
up
on
on
twitch.
I'm
gonna
put
me
on
there.
For
now.
A
A
Looking
at
followers
stars.
You
know
we
have
all
of
that
ability
when
we
look
at
that
context
and
contextual
information,
one
of
the
other
things
we're
going
to
need
to
do.
In
addition
to
that
is
modify
our
workflow
file,
we
need
to
modify
it
to
say,
hey.
We
actually
now
want
you
to
use
an
action,
the
action
that
we're
building
so
let's
go
to
workflowmain.yaml
and
paste.
The
change
in
here
and
you'll
see
I'm
actually
doing
a
couple
of
things
here.
I'm
going
to
use
a
publicly
available
action.
A
Okay
and
again,
documentation
is
at
the
bottom
of
the
the
repo
that
checks
out
my
repository
code,
we're
going
to
use
that
a
little
bit
later
on
and
then
the
next
one.
The
next
step
in
this
hello
world
job
is
to
invoke
a
javascript
action
which
is
currently
hosted
in
our
repo
root.
Okay,
we
can
specify
different
locations
and
there
are
rules
about
where
you
can
run
actions
from
in
a
repository
for
today's
exercise
and
for
what
we're
doing
just
going
to
run
it
locally.
A
So
we
can
see
it
in
action
so
we'll
save
that
one
too.
A
And
then
we
also
need
a
yaml
descriptor
for
our
actions.
So
this
is
the
metadata
file.
You
know.
Most
people
are
familiar
with
this
kind
of
thing
that
describes
the
action
and
tells
the
workflow
engine
how
to
interpret
it
and
how
to
interact
with
it.
So
we're
going
to
add
oops,
add
another
file
and
it's
going
to
be
called
action.yml.
A
A
All
right,
this
is
bad.
So
again,
we've
got
some
help
inside
of
digital
studio
code
on
online
remote
or
coach
basis,
as
we
know
it
in
terms
of
yaml
autocompletion
right.
So
we
can
actually
see
what's
going
on
and
provide
the
metadata
file
here,
we're
just
saying
that
we
want
to
run
using
the
node
12
environment
and
that
the
entry
point
or
the
main
file
that's
gonna,
be
running.
Our
action
is
index.js,
okay,
so
it's
just
a
descriptor
that
says
where
everything's
gonna
start
and
run
okay,
so
quick
sense
check.
A
We
have
our
workflow
with
main
and
I'm
gonna
have
to
move
these
files
out
of
here,
because
I
put
them
in
the
wrong
place.
There
we
go
see,
drag
and
drop
out
into
the
root
of
the
branch,
fantastic
leaving
my
main
under
workflows,
which
is
where
it
belongs.
A
So
our
main
workflow
here
that
is
going
to
use
our
javascript
action
in
the
root
of
the
repository,
which
is
where
we
will
find
our
action.yaml,
which
describes
where
to
go
to
start
and
that
we're
running
on
node
12.,
so
node
12
for
index.js,
which
will
bring
us
to
here,
and
this
will
then
just
run
some
console
logs
on
the
context
for
what's
being
executed
in
our
repository
okay.
So
we
will
use
the
ui
this
time.
I
think
to
push
our
changes.
A
Okay
and
then
we
make
another
small
sacrifice,
let's
just
make
sure
we
didn't
mess
up
our
workflow
file
before
we
do
that.
I
want
to
say
I
did
some
copy
past
to
start
okay,
it
should
still
work
as
long
as
my
regex
is
right.
We're
going
to
push
to
the
test
branch
again.
A
And
while
that's
happening,
I'm
going
to
kick
something
else
off
in
here
that
to
showcase
another
feature
of
code
spaces
and
I'm
not
sure
matthew
is
going
to
like
what
I'm
doing.
But
we'll
we'll
see.
If
I
go
back.
A
No,
no
yeah
we're
gonna
phone,
a
friend
just
before
we
finish
yeah
still,
I'm
keeping
an
eye
on
the
time
it's
a
bit
of
a
slow
start,
but
hopefully
we're
picking
up
the
pace
now
and
people
are
enjoying
it.
I
wish
I
didn't
see
the
chat.
It
might
inspire
me
a
little
bit.
Okay,
so
npx
moves.
We
keep
create,
react
app
test.
A
Let's
see
what
happens
there,
all
right,
I'm
going
to
kick
that
off
and
we're
going
to
go
and
look
at
what
happened
in
our
repo,
because
that's
going
to
take
a
couple
of
minutes
to
install
and
build
and
create
a
new
template,
react
app.
There's
method
in
my
madness,
you'll
see
in
a
minute.
So
if
we
now
go
over
to
our
repository
and
we
look
at
actions
again,
oh
this
is
the
wrong
one.
A
B
Are
you
sure
that's
the
right
one?
I.
A
I'm
just
having
a
time
of
it.
It's
look.
It's
right
here,
dd
run
live
is
what
it's
called
just
having
a
hard
time
of
actually
typing
it's
here.
There
we
go
refresh
our
actions.
My
word
to
play
myself,
so
we
added
our
first
js
action.
We
can
see
that
that
has
kicked
off,
and
now
we
can
start
to
look
at
what's
coming
out
in
the
log,
so
our
javascript
action
is
executed
and
you
can
see
that
we
now
have
a
payload,
that's
been
written
out
to
to
the
log
file.
A
These
log
files
by
the
way
are
live,
and
you
should
have
seen
that
if
you've
watched
one
of
the
other
previous
demo
days,
so
these
are
live
training
logs,
you
can
see
them
and
and
download
them
and
increase
the
detail.
Verbosity
as
you
see
fit,
there's
a
whole
bunch
of
information
in
here.
A
That's
you
know,
honestly,
most
of
it
is
kind
of
wood
for
the
trees,
but
what
we
can
see
quite
clearly
I'll
stop
scrolling
in
the
second
premise
is
we
have
a
payload
and
we
also
have
the
commits
that
are
related
to
this
push.
We
have
the
committer
right
and
we
also
have
some
information
right
down
at
the
bottom
here
about
the
workflow.
It
was
created
with
an
event
called
push
and
we
have
the
shaw
as
well
as
details
about
the
workflow
itself.
A
Okay,
so
this
is
going
to
be
handy
for
us,
interacting
with
issues
and
other
parts
of
the
github
platform
as
we
go
forwards
fantastic.
So
I'm
super
happy
that
worked.
Maybe
I
want
to
upload
that
as
an
artifact,
though
so
I
can
download
it
and
share
it
or
archive
it
for
posterity.
So
we'll
do
that
next
before
we
do
that,
we
can
see
that
our
npm
project,
that
I
just
little
side
project
here-
that
we're
doing
has
kicked
off.
A
So,
let's
see
into
our
test
app
and
do
an
npm
stop,
and
this
should,
as
you
might
expect,
on,
if
you're
working
on
your
local
machine
start
your
development
survey
and
the
whole
point
of
doing
that
would
be
so
that
you
could
make
changes
in
the
code.
Get
live,
reload
see
what's
happening
before
you
enter
your
commit
code,
and
this
is
where
you
know
we
get
some
significant
differentiation
from
a
web-based
ide
or
a
text
editor,
because
this
now
gives
us
the
ability
to
do
some
really
awesome
things.
A
You
can
see
this
link
here
to
localhost,
obviously
we're
not
on
localhost
we're
in
a
remote
code
space,
but
now
I'm
going
to
click
on
this
link
and
what
we
should
see
is
connection
to
afforded
port
that
allows
us
to
actually
go
see
the
code
that
is
running
in
our
codespace
from
a
browser
on
our
local
machine,
which
again
is
another
kind
of
mind-blowing
game-changing
capability
right.
So
we
see
the
react,
spinning
logo,
so
you
know
that
server
is
up
and
running.
That's
just
to
me.
A
That's
the
fact
that
I
can
do
this
from
anywhere
on
pretty
much
any
platform.
Just
through
the
browser
is,
is
game.
Changing
I'm
super
excited
all
right
back
back
to
the
main
plot.
Let
me
stop
that
server
and
we
will
go
back
to
business
in
our
workspace,
because
what
I
wanted
to
do
now
is
use
the
github
artifact
api
to
upload
that
json
that
we
got
and
put
that
up
and
as
a
file
and
an
artifact,
and
I'm
going
to
hold
this
up
a
little
bit,
because
I
appreciate
we're
burning
through
time.
A
Let's
see
snippets
okay,
so
we're
going
to
change
our
javascript
file,
our
index.js,
to
incorporate
a
couple
of
new
things,
we're
going
to
add
in
the
artifact
and
fs
standard
javascript
for
writing
to
the
file
system.
We're
going
to
create
the
artifact
by
first
of
all.
Writing
that
context.json
text
out
to
the
file
system
on
the
runner
and
then
we're
going
to
build
the
parameters
for
the
upload
artifact
that
when
it
runs
based
on
our
push,
will
zip
and
upload
the
artifacts
into
the
ui
and
github.
A
Okay-
and
I
just
list
up
my
modules
to
see
real
quick
make
sure
we
got
everything
that
I
think
I
wanted
fs.
I
can
see
ls
mode
modules
forward,
slash
actions,
oh
not
that
yeah
I
mean
that
I
can
see
odds
factors
as
well,
so
I'm
pretty
happy
with
that.
So
get
status.
A
A
A
A
A
And
again
go
back
here
and
look
at
our
actions
runs
you'll
see
our
action
is
running,
triggered
by
the
push
to
a
branch
that
matches
test
star,
and
here
we'll
see
some
of
that
live
reload.
That
happened
real,
quick,
okay.
So
what
we
can
see
from
my
debug
here
straight
away
is
that
the
rt5
was
uploaded
and
it
was
1
679
bytes,
which
reassures
me
that
it's
not
an
empty
thing.
A
That
pushed
and
we
actually
see
the
artifact
listed
in
the
build
artifact.
So
super
easy
to
get
information
written
to
that
file
system
and
then
package
it
up,
and
you
can
put
this
into
context
all
right
and
then
obviously
you
download
that
it's
a
zip
file
it'll
contain
the
javascript.
So
you
probably
don't
even
see
that
you
can
go
and
create
your
own
and
download
that
for
your
ledger,
as
you
see
fit,
okay,.
A
This
is
also
something
I
say
we
touch
on,
which
is
not
strictly
part
of
the
javascript
creation
of
an
action
but
more
about
using
git
operations
inside
of
a
workflow,
I'm
probably
going
to
skip
the
step
given
time
leave
some
time
for
q
a
and
also
I
wanted
to
show
you
one
last
super
cool
feature
in
codespaces,
we'll
move
on
to
the
using
the
rest
api,
that's
embedded
in
that
actions
forward,
slash
github
package
it!
Actually,
if
you
want
to
see
the
details,
the
octa
kit
has
its
own
website
and
community.
A
But
we
want
to
change
that
and
we
want
to
listen
to
issues
quick
point
of
information
and
note
on
this
when
you're
building
actions
and
workflows
that
want
to
interact
with
issues
issues
only
trigger
workflows
when
it's
done
on
the
default
branch.
So
you
can
imagine
there'd
be
something
of
a
storm
if
every
branch
that
had
actions
workflows
on
it
was
triggered
with
every
creation
of
an
issue.
So
that
would
not
necessarily
be
a
great
thing
at
all.
A
Bad
indentation
of
mapping
file
that's
unfortunate.
Let's
go
up
here
there
we
go,
I'm
not
going
to
bother
listening
to
a
push
for
branch,
because
I
don't
actually
want
to
do
anything
on
a
push
or
a
pull
require
store.
Merge.
I'm
just
I'm
only
interested
for
the
moment
in
these
issues.
So
that's
that
particular
piece
set.
A
The
other
thing
to
note
is
that
when
we
interact
with
the
api
just
like
we
were
doing,
if
we
were
writing
a
javascript
application
or
interacting
using
curl
or
something
like
that,
we're
going
to
need
to
use
credentials
we're
going
to
need
a
personal
access
token
out
of
the
gate
and
by
default.
Github
provides
us
with
a
default
context,
token
that
operates
in
the
scope
of
the
repository
we're
working
in,
and
we
can
pass
that
from
our
workflow
into
our
javascript.
A
Before
we
do
that,
we
have
to
tell
everyone
that
our
action
actually
expects
an
input,
so
we
can
manage
inputs
and
outputs
for
actions
in
the
meta
file.
That's
what
we're
going
to
do
here
we're
going
to
change
our
action.yaml
to
describe
this
new
token
that
we're
expecting
here
so
action.yaml,
I'm
going
to
paste
that
straight
over
the
top.
You
can
see
it's
required,
I'm
specifying
access
token!
Here!
That's
something
to
note,
because
we
will
need
to
match
that
actually
in
our
index.js.
A
A
A
A
A
We
do,
let's
do
yeah,
let's
push
the
test.
First,.
A
B
There
has
been
no
questions,
unfortunately,
good.
B
Yeah
no
worries
yeah
no
aj
and
I
have
been
interacting
and
I
actually
I'm
gonna
duck
out
now.
Good
sir
okay,
we're
in
the
capable
hands
of
aj
who
is.
A
A
B
Have
to
run
to
another
call.
B
Awesome,
thank
you.
Oh
great,
five
man
down,
we
are
developers,
we
don't
talk
much
so
I
mean
if
you
have
questions
for
the
crowd
or
you
know
if
it
was
useful.
A
Yeah,
I'm
I'm
curious
as
to
you
know
this.
I
I
hope
that
this
would
be
a
great
kind
of
showcase
for
seeing
code
spaces
in
action
because
it
blew
my
mind
when
I
started
working
with
it,
and
you
know
if
it's
useful,
seeing
how
we
actually
go
about
building
actions
for
the
community.
So
yeah
definitely
would
like
to
hear
people's
comments
as
we
sign.
B
C
Just
hyperchain
labs
saying
that,
yes,
everything
has
been
very
useful
and
they're
following
the
channel,
so
thank
you
very
much
hyperchain
labs
for
that
also
poor,
matthew.
Isabel
wants
you
to
notice
him
because
he's
still
hanging
on
with
us
too
and
helping
out
so
shout
out
to
you
matthew,.
A
Shout
out
matthew,
definitely
all
right.
I
think
I
would
like
this
one
to
just
get
us
to
a
point
where
we
interact
with
an
issue
for
anybody
that
wants
to
code
along
with
that
again
and
explore
the
dad
jokes
at
the
end
feel
free
aj.
What's
the
what's
the
protocol
for
running
over
a
little
bit
here
or
just
continuing
till
we
end,
or
what
do
we
do
there?
No
thank
people
for
the
time
and
close
it.
C
No,
if
you
want
to
close
things
out,
you
can
just
close
things
out.
It's
all
good
everyone,
just
a
quick
reminder
that
if
you
do
want
to
follow
along
and
and
kind
of
do
this
at
your
own
pace,
the
the
bottom
panel
in
the
channel
has
a
link
to
this
specific
repo
and
all
the
resources
that
you
need
and
also,
if
you
like,
I
said
in
the
chat,
if
you
do
have
problems
and
that
you're
working
on
in
your
own
work
and
want
us
to
address
them,
perhaps
in
a
future
stream.
A
C
A
Very
sweet
great
use
case
love,
it
love
it.
That's
another
thing:
it's
and
that's
a
huge,
huge
opportunity
to
go
and
contribute
these
actions
maybe
break
out
of
this,
because
people
can
like
say
you
can
follow
along
at
any
time
and
go
to
marketplace
just
quick
for
that.
A
All
right,
you
can
take
the
action
that
you
build
through
this
mechanism,
javascript
or
otherwise,
and
you
can
go
ahead
and
publish
it
into
the
actions
marketplace.
There
are
instructions
on
how
to
do
that
at
the
bottom
of
the
post
again,
and
you
could
see
your
update.
My
readme
for
my
home
page
action
published
right
here
on
get
a
marketplace.
A
So
any
other
great
ideas
you
know
shared
with
the
community.
That's
what
we're
about!
It's
been
somewhat
scary
and
a
lot
of
fun
to
share
this
last
hour
with
you
folks.
I
wish
you
all
the
best
for
the
weekend,
all
right
and
with
that
I
am
gonna
sign
off
and
take
a.