From 8d18ef4117f32218ca9800291f92fe22c8140277 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:09:44 +0200 Subject: [PATCH 01/10] ci: run on arm runner --- .github/workflows/go.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 5dfea15..2ce81be 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -14,7 +14,7 @@ permissions: read-all jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 @@ -22,6 +22,7 @@ jobs: uses: actions/setup-go@v4 with: go-version: '1.23' + - name: install prerequisites run: |2- sudo apt update -y From a1ce4773be324fc55391bb54ad131cf291655360 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:25:50 +0200 Subject: [PATCH 02/10] fix: install libopencv from makefile rather than apt packages --- .github/workflows/go.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 2ce81be..b05d573 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -25,9 +25,9 @@ jobs: - name: install prerequisites run: |2- - sudo apt update -y - sudo apt install -y libopencv-dev - sudo dpkg -l libopencv-dev + go get -u -d gocv.io/x/gocv + cd $GOPATH/src/gocv.io/x/gocv + make install - name: Vet run: go vet -v ./... From 8884a12f71272719fa77d69f925f26920677f08a Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:29:43 +0200 Subject: [PATCH 03/10] feat: define GOPATH --- .github/workflows/go.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index b05d573..11e5940 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -11,6 +11,9 @@ on: permissions: read-all +environment: + GOPATH: ${{ runner.temp }}/go + jobs: build: From 1595bee6f39a86f9f7bf578e326b11c2de1ee904 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:30:50 +0200 Subject: [PATCH 04/10] fix: use correct env keyword --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 11e5940..ed487c6 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -11,7 +11,7 @@ on: permissions: read-all -environment: +env: GOPATH: ${{ runner.temp }}/go jobs: From c65a99246850f4795e16b5e47a680597ef5bca65 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:33:07 +0200 Subject: [PATCH 05/10] refactor: move env keyword at job level --- .github/workflows/go.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index ed487c6..95f115d 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -11,12 +11,13 @@ on: permissions: read-all -env: - GOPATH: ${{ runner.temp }}/go - jobs: build: + + env: + GOPATH: "${{ runner.temp }}/go" + runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 From d1301f068dd32d0cddd9357abe0efc043b1930f4 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:34:43 +0200 Subject: [PATCH 06/10] test: use env keyword on each steps --- .github/workflows/go.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 95f115d..e8e20bd 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -15,8 +15,6 @@ jobs: build: - env: - GOPATH: "${{ runner.temp }}/go" runs-on: ubuntu-24.04-arm steps: @@ -32,12 +30,20 @@ jobs: go get -u -d gocv.io/x/gocv cd $GOPATH/src/gocv.io/x/gocv make install + env: + GOPATH: "${{ runner.temp }}/go" - name: Vet run: go vet -v ./... + env: + GOPATH: "${{ runner.temp }}/go" - name: Build run: go build -v ./... + env: + GOPATH: "${{ runner.temp }}/go" - name: Test run: go test -v ./... + env: + GOPATH: "${{ runner.temp }}/go" From 95ad531e564643cbe8233f8bf3e3f2634ac0588f Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:35:48 +0200 Subject: [PATCH 07/10] fix: create missing GOPATH folder --- .github/workflows/go.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index e8e20bd..47bd59a 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -27,6 +27,7 @@ jobs: - name: install prerequisites run: |2- + mkdir $GOPATH go get -u -d gocv.io/x/gocv cd $GOPATH/src/gocv.io/x/gocv make install From 19980d1e07b6b58d2e769c420da61a893188aba1 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:39:03 +0200 Subject: [PATCH 08/10] fix: update GOPATH install --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 47bd59a..6e45976 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -29,7 +29,7 @@ jobs: run: |2- mkdir $GOPATH go get -u -d gocv.io/x/gocv - cd $GOPATH/src/gocv.io/x/gocv + cd $GOPATH/pkg/mod/gocv.io/x/gocv@v0.41.0/ make install env: GOPATH: "${{ runner.temp }}/go" From 78da7e0222f2bf369a7271fa12fe001737a2b169 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Wed, 23 Apr 2025 23:12:12 +0200 Subject: [PATCH 09/10] refactor: use Containerfile for alpine based podman build --- .github/workflows/go.yml | 36 ++++++-------------------- Containerfile | 11 ++++++++ api/server.go | 8 ++---- cmd/server.go | 5 ++-- go.mod | 19 -------------- go.sum | 55 ---------------------------------------- 6 files changed, 24 insertions(+), 110 deletions(-) create mode 100644 Containerfile diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 6e45976..c2749af 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -19,32 +19,12 @@ jobs: runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 - - - name: Set up Go - uses: actions/setup-go@v4 + - name: Buildah Action + uses: redhat-actions/buildah-build@v2 with: - go-version: '1.23' - - - name: install prerequisites - run: |2- - mkdir $GOPATH - go get -u -d gocv.io/x/gocv - cd $GOPATH/pkg/mod/gocv.io/x/gocv@v0.41.0/ - make install - env: - GOPATH: "${{ runner.temp }}/go" - - - name: Vet - run: go vet -v ./... - env: - GOPATH: "${{ runner.temp }}/go" - - - name: Build - run: go build -v ./... - env: - GOPATH: "${{ runner.temp }}/go" - - - name: Test - run: go test -v ./... - env: - GOPATH: "${{ runner.temp }}/go" + image: phantom + tags: ${{ github.sha }} + containerfiles: | + ./Containerfile + build-args: | + diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..435a847 --- /dev/null +++ b/Containerfile @@ -0,0 +1,11 @@ +FROM docker.io/golang:1.24.2-alpine3.21 AS build +WORKDIR /app +COPY . . +RUN apk add build-base musl-dev opencv-dev icu-libs --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community +RUN go build main.go + +FROM docker.io/alpine:3.21 +WORKDIR /app +RUN apk add musl opencv-dev icu-libs --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community +COPY --from=build /app/main /app/main +COPY --from=build /app/api/templates /app/api/templates diff --git a/api/server.go b/api/server.go index 5176d24..04ac067 100644 --- a/api/server.go +++ b/api/server.go @@ -7,7 +7,6 @@ import ( "github.com/bugbundle/phantom/api/middlewares" "github.com/bugbundle/phantom/api/routes" - "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" ) func Server(addr string) { @@ -25,11 +24,8 @@ func Server(addr string) { server_config := &http.Server{ Addr: addr, - Handler: otelhttp.NewHandler( - middlewares.LoggingHandler( - middlewares.Recovery(router), - ), - "", + Handler: middlewares.LoggingHandler( + middlewares.Recovery(router), ), } diff --git a/cmd/server.go b/cmd/server.go index 8a8a4ae..1147220 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -1,8 +1,9 @@ package cmd import ( + "log" + "github.com/bugbundle/phantom/api" - "github.com/charmbracelet/log" "github.com/spf13/cobra" ) @@ -17,7 +18,7 @@ var serverCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { addr, err := cmd.Flags().GetString("addr") if err != nil { - log.Fatal("Can't retrieve addr flag.") + log.Printf("Can't retrieve addr flag.") } api.Server(addr) }, diff --git a/go.mod b/go.mod index c5e61bd..17e4761 100644 --- a/go.mod +++ b/go.mod @@ -3,30 +3,11 @@ module github.com/bugbundle/phantom go 1.22.2 require ( - github.com/charmbracelet/log v0.4.1 github.com/spf13/cobra v1.9.1 - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 gocv.io/x/gocv v0.40.0 ) require ( - github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/charmbracelet/lipgloss v1.0.0 // indirect - github.com/charmbracelet/x/ansi v0.4.2 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-logr/stdr v1.2.2 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/lucasb-eyer/go-colorful v1.2.0 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/muesli/termenv v0.16.0 // indirect - github.com/rivo/uniseg v0.4.7 // indirect github.com/spf13/pflag v1.0.6 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel v1.35.0 // indirect - go.opentelemetry.io/otel/metric v1.35.0 // indirect - go.opentelemetry.io/otel/trace v1.35.0 // indirect - golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/sys v0.30.0 // indirect ) diff --git a/go.sum b/go.sum index 77c3d48..1e0ac10 100644 --- a/go.sum +++ b/go.sum @@ -1,67 +1,12 @@ -github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= -github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= -github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg= -github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo= -github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk= -github.com/charmbracelet/log v0.4.1/go.mod h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I= -github.com/charmbracelet/x/ansi v0.4.2 h1:0JM6Aj/g/KC154/gOP4vfxun0ff6itogDYk41kof+qk= -github.com/charmbracelet/x/ansi v0.4.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= -github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= -github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc= -github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= -github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= -go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= -go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= -go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= -go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= -go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= -go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= -go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= -go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= -go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= -go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= gocv.io/x/gocv v0.40.0 h1:kGBu/UVj+dO6A9dhQmGOnCICSL7ke7b5YtX3R3azdXI= gocv.io/x/gocv v0.40.0/go.mod h1:zYdWMj29WAEznM3Y8NsU3A0TRq/wR/cy75jeUypThqU= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 082eb46a41cf89364d8965154f4a5549e8592f15 Mon Sep 17 00:00:00 2001 From: Benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Wed, 23 Apr 2025 23:33:06 +0200 Subject: [PATCH 10/10] ci: add podman run --- .github/workflows/go.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index c2749af..6c37cd7 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -26,5 +26,10 @@ jobs: tags: ${{ github.sha }} containerfiles: | ./Containerfile - build-args: | + extra-args: | + --target=build + - name: Run go vet + run: podman run phantom:${{ github.sha }} go vet -v ./... + - name: Run go test + run: podman run phantom:${{ github.sha }} go test -v ./...