Slide 1

Slide 1 text

C p pe in s ho ld e od ! D gg r o DK L v P c (@a ) - M P #9, 3 .1 . 2 1

Slide 2

Slide 2 text

W at s ag er? 4 D a p m C /C e a n y p e c e . 4 Y a e i P e C L v P c (@a ) - M P #9, 3 .1 . 2 2

Slide 3

Slide 3 text

W at s ag er? 4 S d C c e (D ) + u l 4 s D (C , G , P , N .J ) L v P c (@a ) - M P #9, 3 .1 . 2 3

Slide 4

Slide 4 text

D gg r s. C (G tH b ct on , G tL b, C rc eC , J nk ns, e c.) 4 D e o r u C : i s a a p e d m l o i . 4 D n l m p s. i r l -i : y a c w r n l u p e . 4 D s n u e m . i a d /C p : h m p e a e n d m . L v P c (@a ) - M P #9, 3 .1 . 2 4

Slide 5

Slide 5 text

H w oe i w rk? L v P c (@a ) - M P #9, 3 .1 . 2 5

Slide 6

Slide 6 text

B ne t 4 I l t 4 P l (l , C ) 4 S r c 4 C b t h D e e 4 C -l e i e n L v P c (@a ) - M P #9, 3 .1 . 2 6

Slide 7

Slide 7 text

W y ho ld se od i st ad AM ? 4 Y t s z l e 4 N l e o c g n 4 I e d 4 G r H 's N 4 M T j Y : p y o g a a L v P c (@a ) - M P #9, 3 .1 . 2 7

Slide 8

Slide 8 text

W y ue an a d ot AM 4 C g n l e 4 S d e f s 4 S i l 4 T i 4 S p c g 4 P S L v P c (@a ) - M P #9, 3 .1 . 2 8

Slide 9

Slide 9 text

D gg r o DK 4 C v 0.4 - o 2 4 G s L v P c (@a ) - M P #9, 3 .1 . 2 9

Slide 10

Slide 10 text

P ac ic l xa pl 4 G S p 4 N b /t a s v s (1.1 , 1.1 , 1.1 ) n l i a c (a , a ) n O (w , d , l ) L v P c (@a ) - M P #9, 3 .1 . 2 1

Slide 11

Slide 11 text

G th b ct on xa pl name: Go on: [push] jobs: build: runs-on: ubuntu-latest strategy: matrix: go-version: ['1.19', '1.18', '1.17'] steps: - uses: actions/checkout@v3 - name: Setup Go ${{ matrix.go-version }} uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} # You can test your matrix by printing the current Go version - name: Display Go version run: go version L v P c (@a ) - M P #9, 3 .1 . 2 1

Slide 12

Slide 12 text

S mp e ui d func build(repoUrl string) error { ... client, err := dagger.Connect(ctx, dagger.WithLogOutput(os.Stdout)) ... repo := client.Git(repoUrl) src, err := repo.Branch("main").Tree().ID(ctx) workdir := client.Host().Workdir() for _, version := range goVersions { for _, goos := range oses { for _, goarch := range arches { goos, goarch, version := goos, goarch, version g.Go(func() error { ... build := golang.WithEnvVariable("GOOS", goos) build = build.WithEnvVariable("GOARCH", goarch) build = build.Exec(dagger.ContainerExecOpts{ Args: []string{"go", "build", "-o", path}, }) output, err := build.Directory(path).ID(ctx) ... }) } } } ... L v P c (@a ) - M P #9, 3 .1 . 2 1

Slide 13

Slide 13 text

M no ep s 4 E h -m o t M 4 E i n e g p - h ://g .c /a /g -b /p /4 L v P c (@a ) - M P #9, 3 .1 . 2 1

Slide 14

Slide 14 text

R fe en es 4 D .i 4 D D a p 4 G S v 4 I i D o i v 4 D u S 4 D P S 4 D N .J S 4 C l L v P c (@a ) - M P #9, 3 .1 . 2 1

Slide 15

Slide 15 text

Q&A I ec mm nd ol ow ag er lo f r ew o j in he r is or c mm ni y. 4 L D L v P c (@a ) - M P #9, 3 .1 . 2 1